DBC Framework
DBC parsing and CAN signal decoding framework
Loading...
Searching...
No Matches
DecodeDatabase Class Reference

Immutable runtime snapshot. Copies share storage; reload replaces a snapshot. Owning lookup handles and decoded results keep old definitions alive. More...

#include <decode_database.h>

Public Member Functions

 DecodeDatabase (std::vector< DecodeFrame > frames)
 
const std::vector< DecodeFrame > & GetFrames () const
 
std::shared_ptr< const DecodeFrame > FindFrame (const FrameKey &key) const
 
std::shared_ptr< const DecodeSignal > FindSignal (const SignalKey &key) const
 

Detailed Description

Immutable runtime snapshot. Copies share storage; reload replaces a snapshot. Owning lookup handles and decoded results keep old definitions alive.

Definition at line 87 of file decode_database.h.

Constructor & Destructor Documentation

◆ DecodeDatabase()

DecodeDatabase::DecodeDatabase ( std::vector< DecodeFrame >  frames)
explicit

Freeze definitions and build the frame index. Do not retain mutable aliases into moved input vectors.

Exceptions
std::invalid_argumentfor duplicate frame keys or signal names.

Definition at line 24 of file decode_database.cpp.

Member Function Documentation

◆ GetFrames()

const std::vector< DecodeFrame > & DecodeDatabase::GetFrames ( ) const

Borrowed view, valid while this snapshot remains alive and unchanged.

Definition at line 28 of file decode_database.cpp.

◆ FindFrame()

std::shared_ptr< const DecodeFrame > DecodeDatabase::FindFrame ( const FrameKey &  key) const

Owning handles retain the entire snapshot across reload or destruction.

Definition at line 33 of file decode_database.cpp.

Referenced by DbcDecoder::FindFrame().

◆ FindSignal()

std::shared_ptr< const DecodeSignal > DecodeDatabase::FindSignal ( const SignalKey &  key) const

Definition at line 43 of file decode_database.cpp.


The documentation for this class was generated from the following files: