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

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

#include <M3DataInterface.hh>

Public Member Functions

 M3DataWriter (byte_type *aData, unsigned aDataTypeSize, uint32_t aDataFormat)
 
 ~M3DataWriter ()
 
void set_at (SetType value, unsigned index)
 
void SetInterface (unsigned aDataTypeSize, uint32_t aDataFormat)
 
void SetData (const byte_type *aData)
 

Private Member Functions

void set_at_u1 (SetType value, unsigned index)
 
void set_at_u2 (SetType value, unsigned index)
 
void set_at_u4 (SetType value, unsigned index)
 
void set_at_u8 (SetType value, unsigned index)
 
void set_at_i1 (SetType value, unsigned index)
 
void set_at_i2 (SetType value, unsigned index)
 
void set_at_i4 (SetType value, unsigned index)
 
void set_at_i8 (SetType value, unsigned index)
 
void set_at_f4 (SetType value, unsigned index)
 
void set_at_f8 (SetType value, unsigned index)
 

Private Attributes

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

Detailed Description

template<typename SetType>
class monarch3::M3DataWriter< SetType >

Interface class for a variety of data types.

Author
N. S. Oblath

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

Definition at line 43 of file M3DataInterface.hh.

Constructor & Destructor Documentation

◆ M3DataWriter()

M3DataWriter ( byte_type aData,
unsigned  aDataTypeSize,
uint32_t  aDataFormat 
)
inline

Definition at line 46 of file M3DataInterface.hh.

◆ ~M3DataWriter()

~M3DataWriter ( )
inline

Definition at line 51 of file M3DataInterface.hh.

Member Function Documentation

◆ set_at()

void set_at ( SetType  value,
unsigned  index 
)
inline

Definition at line 55 of file M3DataInterface.hh.

◆ set_at_f4()

void set_at_f4 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 146 of file M3DataInterface.hh.

◆ set_at_f8()

void set_at_f8 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 151 of file M3DataInterface.hh.

◆ set_at_i1()

void set_at_i1 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 126 of file M3DataInterface.hh.

◆ set_at_i2()

void set_at_i2 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 131 of file M3DataInterface.hh.

◆ set_at_i4()

void set_at_i4 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 136 of file M3DataInterface.hh.

◆ set_at_i8()

void set_at_i8 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 141 of file M3DataInterface.hh.

◆ set_at_u1()

void set_at_u1 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 106 of file M3DataInterface.hh.

◆ set_at_u2()

void set_at_u2 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 111 of file M3DataInterface.hh.

◆ set_at_u4()

void set_at_u4 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 116 of file M3DataInterface.hh.

◆ set_at_u8()

void set_at_u8 ( SetType  value,
unsigned  index 
)
inlineprivate

Definition at line 121 of file M3DataInterface.hh.

◆ SetData()

void SetData ( const byte_type aData)
inline

Definition at line 100 of file M3DataInterface.hh.

◆ SetInterface()

void SetInterface ( unsigned  aDataTypeSize,
uint32_t  aDataFormat 
)
inline

Definition at line 60 of file M3DataInterface.hh.

Member Data Documentation

◆ @1

union { ... }

◆ fArrayFcn

void(M3DataWriter::* fArrayFcn) (SetType, unsigned)
private

Definition at line 156 of file M3DataInterface.hh.

◆ fF4BytesData

float* fF4BytesData

Definition at line 168 of file M3DataInterface.hh.

◆ fF8BytesData

double* fF8BytesData

Definition at line 169 of file M3DataInterface.hh.

◆ fI2BytesData

int16_t* fI2BytesData

Definition at line 165 of file M3DataInterface.hh.

◆ fI4BytesData

int32_t* fI4BytesData

Definition at line 166 of file M3DataInterface.hh.

◆ fI8BytesData

int64_t* fI8BytesData

Definition at line 167 of file M3DataInterface.hh.

◆ fIByteData

int8_t* fIByteData

Definition at line 164 of file M3DataInterface.hh.

◆ fU2BytesData

uint16_t* fU2BytesData

Definition at line 161 of file M3DataInterface.hh.

◆ fU4BytesData

uint32_t* fU4BytesData

Definition at line 162 of file M3DataInterface.hh.

◆ fU8BytesData

uint64_t* fU8BytesData

Definition at line 163 of file M3DataInterface.hh.

◆ fUByteData

uint8_t* fUByteData

Definition at line 160 of file M3DataInterface.hh.


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