Monarch  v3.8.2
Project 8 Data File Format Library
Public Member Functions | Private Member Functions | Private Attributes | List of all members
M3DataReader< ReturnType > Class Template Reference

Interface class for a variety of data types. More...

#include <M3DataInterface.hh>

Public Member Functions

 M3DataReader (const byte_type *aData, unsigned aDataTypeSize, uint32_t aDataFormat)
 
 ~M3DataReader ()
 
ReturnType at (unsigned index) const
 
void SetInterface (unsigned aDataTypeSize, uint32_t aDataFormat)
 
void SetData (const byte_type *aData)
 

Private Member Functions

ReturnType at_u1 (unsigned index) const
 
ReturnType at_u2 (unsigned index) const
 
ReturnType at_u4 (unsigned index) const
 
ReturnType at_u8 (unsigned index) const
 
ReturnType at_i1 (unsigned index) const
 
ReturnType at_i2 (unsigned index) const
 
ReturnType at_i4 (unsigned index) const
 
ReturnType at_i8 (unsigned index) const
 
ReturnType at_f4 (unsigned index) const
 
ReturnType at_f8 (unsigned index) const
 

Private Attributes

ReturnType(M3DataReader::* fArrayFcn )(unsigned) const
 
union {
   const uint8_t *   fUByteData
 
   const uint16_t *   fU2BytesData
 
   const uint32_t *   fU4BytesData
 
   const uint64_t *   fU8BytesData
 
   const int8_t *   fIByteData
 
   const int16_t *   fI2BytesData
 
   const int32_t *   fI4BytesData
 
   const int64_t *   fI8BytesData
 
   const float *   fF4BytesData
 
   const double *   fF8BytesData
 
}; 
 

Detailed Description

template<typename ReturnType>
class monarch3::M3DataReader< ReturnType >

Interface class for a variety of data types.

Author
N. S. Oblath

Provides read-only access to a byte_type array as if it were an array of:

Definition at line 297 of file M3DataInterface.hh.

Constructor & Destructor Documentation

◆ M3DataReader()

M3DataReader ( const byte_type aData,
unsigned  aDataTypeSize,
uint32_t  aDataFormat 
)
inline

Definition at line 300 of file M3DataInterface.hh.

◆ ~M3DataReader()

~M3DataReader ( )
inline

Definition at line 305 of file M3DataInterface.hh.

Member Function Documentation

◆ at()

ReturnType at ( unsigned  index) const
inline

Definition at line 309 of file M3DataInterface.hh.

◆ at_f4()

ReturnType at_f4 ( unsigned  index) const
inlineprivate

Definition at line 401 of file M3DataInterface.hh.

◆ at_f8()

ReturnType at_f8 ( unsigned  index) const
inlineprivate

Definition at line 406 of file M3DataInterface.hh.

◆ at_i1()

ReturnType at_i1 ( unsigned  index) const
inlineprivate

Definition at line 381 of file M3DataInterface.hh.

◆ at_i2()

ReturnType at_i2 ( unsigned  index) const
inlineprivate

Definition at line 386 of file M3DataInterface.hh.

◆ at_i4()

ReturnType at_i4 ( unsigned  index) const
inlineprivate

Definition at line 391 of file M3DataInterface.hh.

◆ at_i8()

ReturnType at_i8 ( unsigned  index) const
inlineprivate

Definition at line 396 of file M3DataInterface.hh.

◆ at_u1()

ReturnType at_u1 ( unsigned  index) const
inlineprivate

Definition at line 361 of file M3DataInterface.hh.

◆ at_u2()

ReturnType at_u2 ( unsigned  index) const
inlineprivate

Definition at line 366 of file M3DataInterface.hh.

◆ at_u4()

ReturnType at_u4 ( unsigned  index) const
inlineprivate

Definition at line 371 of file M3DataInterface.hh.

◆ at_u8()

ReturnType at_u8 ( unsigned  index) const
inlineprivate

Definition at line 376 of file M3DataInterface.hh.

◆ SetData()

void SetData ( const byte_type aData)
inline

Definition at line 355 of file M3DataInterface.hh.

◆ SetInterface()

void SetInterface ( unsigned  aDataTypeSize,
uint32_t  aDataFormat 
)
inline

Definition at line 314 of file M3DataInterface.hh.

Member Data Documentation

◆ @5

union { ... }

◆ fArrayFcn

ReturnType(M3DataReader::* fArrayFcn) (unsigned) const
private

Definition at line 411 of file M3DataInterface.hh.

◆ fF4BytesData

const float* fF4BytesData

Definition at line 423 of file M3DataInterface.hh.

◆ fF8BytesData

const double* fF8BytesData

Definition at line 424 of file M3DataInterface.hh.

◆ fI2BytesData

const int16_t* fI2BytesData

Definition at line 420 of file M3DataInterface.hh.

◆ fI4BytesData

const int32_t* fI4BytesData

Definition at line 421 of file M3DataInterface.hh.

◆ fI8BytesData

const int64_t* fI8BytesData

Definition at line 422 of file M3DataInterface.hh.

◆ fIByteData

const int8_t* fIByteData

Definition at line 419 of file M3DataInterface.hh.

◆ fU2BytesData

const uint16_t* fU2BytesData

Definition at line 416 of file M3DataInterface.hh.

◆ fU4BytesData

const uint32_t* fU4BytesData

Definition at line 417 of file M3DataInterface.hh.

◆ fU8BytesData

const uint64_t* fU8BytesData

Definition at line 418 of file M3DataInterface.hh.

◆ fUByteData

const uint8_t* fUByteData

Definition at line 415 of file M3DataInterface.hh.


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