rasdaman API
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
r_Flat_Base_Type Class Reference

#include <flatbasetype.hh>

Public Member Functions

 r_Flat_Base_Type (void)
 default constructor, shouldn't be used More...
 
 r_Flat_Base_Type (const r_Base_Type *type)
 constructor receiving the (hierarchical) base type More...
 
 r_Flat_Base_Type (const r_Flat_Base_Type &src)
 copy constructor More...
 
 ~r_Flat_Base_Type (void)
 destructor More...
 
unsigned int get_num_types (void) const
 return number of primitive types More...
 
const r_Primitive_Typetype (unsigned int num) const throw (r_Eindex_violation)
 return pointer to primitive type num index violation is thrown if higher index is requested than available More...
 
const r_Primitive_Typeoperator[] (unsigned int num) const throw (r_Eindex_violation)
 operator returns pointer to primitive type num or NULL if invalid index violation is thrown if higher index is requested than available More...
 
unsigned int offset (unsigned int num) const throw (r_Eindex_violation)
 return offset of primitive type num index violation is thrown if higher index is requested than available More...
 
r_Bytes size (void) const
 return size of entire type More...
 
r_Flat_Base_Typeoperator= (const r_Flat_Base_Type &src)
 assignment of another flat type More...
 
r_Flat_Base_Typeoperator= (const r_Base_Type *type)
 assignment of a base type More...
 
bool operator== (const r_Flat_Base_Type &src) const
 equality More...
 
void print_status (std::ostream &str) const
 print status to a stream More...
 

Protected Member Functions

void init_shared (void)
 shared init code More...
 
void process_type (const r_Base_Type *type)
 process a base type More...
 
void copy_flat_type (const r_Flat_Base_Type &type)
 copy another flat type More...
 
void free_type_data (void)
 free type-specific data (destructor, assignment) More...
 
unsigned int parse_structure_type (const r_Structure_Type *type, unsigned int number, unsigned int offset)
 parse a structure type and return number of primitive types contained therein More...
 
void parse_primitive_type (r_Primitive_Type *type, unsigned int number, unsigned int offset)
 parse a primitive type More...
 

Protected Attributes

unsigned int numPrimTypes
 the number of primitive types More...
 
r_Bytes typeSize
 the total size of the entire type More...
 
r_Primitive_Type ** primTypes
 the primitive types More...
 
unsigned int * offsets
 the corresponding offsets More...
 

Constructor & Destructor Documentation

r_Flat_Base_Type::r_Flat_Base_Type ( void  )

default constructor, shouldn't be used

r_Flat_Base_Type::r_Flat_Base_Type ( const r_Base_Type type)

constructor receiving the (hierarchical) base type

r_Flat_Base_Type::r_Flat_Base_Type ( const r_Flat_Base_Type src)

copy constructor

r_Flat_Base_Type::~r_Flat_Base_Type ( void  )

destructor

Member Function Documentation

void r_Flat_Base_Type::copy_flat_type ( const r_Flat_Base_Type type)
protected

copy another flat type

void r_Flat_Base_Type::free_type_data ( void  )
protected

free type-specific data (destructor, assignment)

unsigned int r_Flat_Base_Type::get_num_types ( void  ) const

return number of primitive types

void r_Flat_Base_Type::init_shared ( void  )
protected

shared init code

unsigned int r_Flat_Base_Type::offset ( unsigned int  num) const
throw (r_Eindex_violation
)

return offset of primitive type num index violation is thrown if higher index is requested than available

r_Flat_Base_Type& r_Flat_Base_Type::operator= ( const r_Flat_Base_Type src)

assignment of another flat type

r_Flat_Base_Type& r_Flat_Base_Type::operator= ( const r_Base_Type type)

assignment of a base type

bool r_Flat_Base_Type::operator== ( const r_Flat_Base_Type src) const

equality

const r_Primitive_Type* r_Flat_Base_Type::operator[] ( unsigned int  num) const
throw (r_Eindex_violation
)

operator returns pointer to primitive type num or NULL if invalid index violation is thrown if higher index is requested than available

void r_Flat_Base_Type::parse_primitive_type ( r_Primitive_Type type,
unsigned int  number,
unsigned int  offset 
)
protected

parse a primitive type

unsigned int r_Flat_Base_Type::parse_structure_type ( const r_Structure_Type type,
unsigned int  number,
unsigned int  offset 
)
protected

parse a structure type and return number of primitive types contained therein

void r_Flat_Base_Type::print_status ( std::ostream &  str) const

print status to a stream

void r_Flat_Base_Type::process_type ( const r_Base_Type type)
protected

process a base type

r_Bytes r_Flat_Base_Type::size ( void  ) const

return size of entire type

const r_Primitive_Type* r_Flat_Base_Type::type ( unsigned int  num) const
throw (r_Eindex_violation
)

return pointer to primitive type num index violation is thrown if higher index is requested than available

Member Data Documentation

unsigned int r_Flat_Base_Type::numPrimTypes
protected

the number of primitive types

unsigned int* r_Flat_Base_Type::offsets
protected

the corresponding offsets

r_Primitive_Type** r_Flat_Base_Type::primTypes
protected

the primitive types

r_Bytes r_Flat_Base_Type::typeSize
protected

the total size of the entire type


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