ldas-tools-framecpp 2.9.2
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
FrameStream Class Reference
Collaboration diagram for FrameStream:
Collaboration graph
[legend]

Public Types

typedef INT_2U index_type
 
typedef INT_8U size_type
 

Public Member Functions

void AddDescription (class_id_type Id, const Description &Description)
 Add a description to list of known objects. More...
 
void AppendDescription (const FrObject &Object, bool Pre)
 Append an object's description. More...
 
index_type ClassIdIndex () const
 Obtain the class id index within set of common elements. More...
 
size_type CommonElementSize () const
 Obtain the class id index within set of common elements. More...
 
bool ByteSwapping () const
 True if byte swapping is required. More...
 
const DescriptionGetDescription (class_id_type Id) const
 Retrieve the class definition. More...
 
index_type LengthIndex () const
 Obtain the length index within set of common elements. More...
 
void * Read (const std::string &Class, const SymbolTable &SymbolTable)
 Read an element from the stream. More...
 
std::string String (const std::string &Class, void *Data) const
 
INT_2U Version () const
 True if byte swapping is required. More...
 
void operator() (LDASTools::AL::ifstream &Filename)
 
template<>
INT_4U Value (const std::string &DataType, void *Data)
 

Static Public Member Functions

template<typename T >
static T Value (const std::string &DataType, void *Data)
 

Private Types

typedef unordered_map< class_id_type, Descriptionstructs_type
 

Private Member Functions

void reset ()
 Reset all the data members. More...
 

Private Attributes

bool m_byte_swapping
 
FrHeader m_header
 
structs_type m_structs
 
index_type m_class_id_index
 
index_type m_length_index
 
size_type m_common_element_size
 

Member Typedef Documentation

◆ index_type

typedef INT_2U FrameStream::index_type

◆ size_type

typedef INT_8U FrameStream::size_type

◆ structs_type

typedef unordered_map< class_id_type, Description > FrameStream::structs_type
private

Member Function Documentation

◆ AddDescription()

void FrameStream::AddDescription ( class_id_type  Id,
const Description Description 
)

Add a description to list of known objects.

◆ AppendDescription()

void FrameStream::AppendDescription ( const FrObject Object,
bool  Pre 
)

Append an object's description.

◆ ByteSwapping()

bool FrameStream::ByteSwapping ( ) const
inline

True if byte swapping is required.

◆ ClassIdIndex()

index_type FrameStream::ClassIdIndex ( ) const
inline

Obtain the class id index within set of common elements.

◆ CommonElementSize()

size_type FrameStream::CommonElementSize ( ) const
inline

Obtain the class id index within set of common elements.

◆ GetDescription()

const Description & FrameStream::GetDescription ( class_id_type  Id) const

Retrieve the class definition.

Parameters
IdThe class id to lookup
Returns
A reference to the description object describing Id.

◆ LengthIndex()

index_type FrameStream::LengthIndex ( ) const
inline

Obtain the length index within set of common elements.

◆ operator()()

void FrameStream::operator() ( LDASTools::AL::ifstream &  Filename)
Parameters
FilenameThe name of the input file

◆ Read()

void * FrameStream::Read ( const std::string &  Class,
const SymbolTable SymbolTable 
)

Read an element from the stream.

Parameters
ClassThe name of the data type being read
SymbolTableCollection of objects already read which may be consulted when reading array data.
Returns
The data read from the stream

◆ reset()

void FrameStream::reset ( )
private

Reset all the data members.

◆ String()

std::string FrameStream::String ( const std::string &  Class,
void *  Data 
) const

◆ Value() [1/2]

template<typename T >
static T FrameStream::Value ( const std::string &  DataType,
void *  Data 
)
static

◆ Value() [2/2]

template<>
INT_8U FrameStream::Value ( const std::string &  DataType,
void *  Data 
)

◆ Version()

INT_2U FrameStream::Version ( ) const
inline

True if byte swapping is required.

Member Data Documentation

◆ m_byte_swapping

bool FrameStream::m_byte_swapping
private

◆ m_class_id_index

index_type FrameStream::m_class_id_index
private

◆ m_common_element_size

size_type FrameStream::m_common_element_size
private

◆ m_header

FrHeader FrameStream::m_header
private

◆ m_length_index

index_type FrameStream::m_length_index
private

◆ m_structs

structs_type FrameStream::m_structs
private

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