23#ifndef _D_STRUCTURE_TYPE_
24#define _D_STRUCTURE_TYPE_
95 void print_value(
const char *storage, std::ostream &s)
const override;
This class represents attributes of structs in the ODMG conformant representation of the RasDaMan typ...
Definition attribute.hh:47
This class is the superclass of the types r_Structure_Type and r_Primitive_Type in the representation...
Definition basetype.hh:40
This class represents all user defined structured types in the ODMG conformant representation of the ...
Definition structuretype.hh:41
const std::vector< r_Attribute > & getAttributes() const
const r_Structure_Type & operator=(const r_Structure_Type &oldObj)
assignment operator.
std::vector< r_Attribute > myAttributes
Definition structuretype.hh:98
const r_Attribute & resolve_attribute(unsigned int number) const
return attribute specified by number starting with zero.
r_Structure_Type()=default
default constructor.
r_Structure_Type(const r_Structure_Type &oldObj)
copy constructor
void print_status(std::ostream &s) const override
writes state of object to specified stream
r_Attribute & resolve_attribute(unsigned int number)
return attribute specified by number starting with zero.
const r_Attribute & resolve_attribute(const char *name) const
return attribute specified by name.
void print_value(const char *storage, std::ostream &s) const override
prints values of a structured type
unsigned int count_elements() const
get number of attributes
r_Type::r_Type_Id type_id() const override
retrieve id of the type.
r_Attribute & resolve_attribute(const char *name)
return attribute specified by name.
r_Structure_Type(const char *newTypeName, unsigned int newNumAttrs, r_Attribute *newAttrs, int offset=0)
constructor getting name of type and type id.
const r_Attribute & operator[](unsigned int number) const
subscript operator to access attributes by index
r_Attribute & operator[](unsigned int number)
subscript operator to access attributes by index
void convertToLittleEndian(char *cells, r_Area noCells) const override
converts array of cells from NT byte order to Unix byte order.
virtual bool compatibleWith(const r_Structure_Type *myType) const
check, if this type is compatible with myType (e.g. check the structure ignoring then names of atribu...
bool isStructType() const override
check, if type is primitive or structured.
void convertToBigEndian(char *cells, r_Area noCells) const override
converts array of cells from Unix byte order to NT byte order.
~r_Structure_Type() override=default
destructor.
r_Type * clone() const override
clone operation
This class the superclass for all types in the ODMG conformant representation of the RasDaMan type sy...
Definition type.hh:51
r_Type_Id
typedef for the enum specifying a primitive type, structure type, marray type, interval type,...
Definition type.hh:56
std::uint64_t r_Area
number of cells in an mdd object or tile.
Definition mddtypes.hh:49
std::ostream & operator<<(std::ostream &str, const r_Structure_Type &type)