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

Interface class for complex data types. More...

#include <M3DataInterface.hh>

Public Member Functions

 M3ComplexDataReader (const byte_type *aData, unsigned aDataTypeSize, uint32_t aDataFormat, unsigned aSampleSize=2)
 
 ~M3ComplexDataReader ()
 
const ReturnType & at (unsigned index) const
 
void SetInterface (unsigned aDataTypeSize, uint32_t aDataFormat, unsigned aSampleSize=2)
 
void SetData (const byte_type *aData)
 

Private Member Functions

const ReturnType & at_u1 (unsigned index) const
 
const ReturnType & at_i1 (unsigned index) const
 
const ReturnType & at_f4_comp (unsigned index) const
 
const ReturnType & at_f8_comp (unsigned index) const
 

Private Attributes

const ReturnType &(M3ComplexDataReader::* fArrayFcn )(unsigned) const
 
union {
   const uint8_t *   fUByteData
 
   const int8_t *   fIByteData
 
   const f4_complex *   fF4CompBytesData
 
   const f8_complex *   fF8CompBytesData
 
}; 
 
ReturnType fBuffer
 

Detailed Description

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

Interface class for complex 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 440 of file M3DataInterface.hh.

Constructor & Destructor Documentation

◆ M3ComplexDataReader()

M3ComplexDataReader ( const byte_type aData,
unsigned  aDataTypeSize,
uint32_t  aDataFormat,
unsigned  aSampleSize = 2 
)
inline

Definition at line 443 of file M3DataInterface.hh.

◆ ~M3ComplexDataReader()

~M3ComplexDataReader ( )
inline

Definition at line 448 of file M3DataInterface.hh.

Member Function Documentation

◆ at()

const ReturnType& at ( unsigned  index) const
inline

Definition at line 452 of file M3DataInterface.hh.

◆ at_f4_comp()

const ReturnType& at_f4_comp ( unsigned  index) const
inlineprivate

Definition at line 511 of file M3DataInterface.hh.

◆ at_f8_comp()

const ReturnType& at_f8_comp ( unsigned  index) const
inlineprivate

Definition at line 518 of file M3DataInterface.hh.

◆ at_i1()

const ReturnType& at_i1 ( unsigned  index) const
inlineprivate

Definition at line 504 of file M3DataInterface.hh.

◆ at_u1()

const ReturnType& at_u1 ( unsigned  index) const
inlineprivate

Definition at line 497 of file M3DataInterface.hh.

◆ SetData()

void SetData ( const byte_type aData)
inline

Definition at line 491 of file M3DataInterface.hh.

◆ SetInterface()

void SetInterface ( unsigned  aDataTypeSize,
uint32_t  aDataFormat,
unsigned  aSampleSize = 2 
)
inline

Definition at line 457 of file M3DataInterface.hh.

Member Data Documentation

◆ @7

union { ... }

◆ fArrayFcn

const ReturnType&(M3ComplexDataReader::* fArrayFcn) (unsigned) const
private

Definition at line 525 of file M3DataInterface.hh.

◆ fBuffer

ReturnType fBuffer
mutableprivate

Definition at line 535 of file M3DataInterface.hh.

◆ fF4CompBytesData

const f4_complex* fF4CompBytesData

Definition at line 531 of file M3DataInterface.hh.

◆ fF8CompBytesData

const f8_complex* fF8CompBytesData

Definition at line 532 of file M3DataInterface.hh.

◆ fIByteData

const int8_t* fIByteData

Definition at line 530 of file M3DataInterface.hh.

◆ fUByteData

const uint8_t* fUByteData

Definition at line 529 of file M3DataInterface.hh.


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