The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fib::cTypeElement Class Reference

#include <cTypeElement.h>

Inheritance diagram for fib::cTypeElement:

List of all members.

Public Member Functions

virtual ~cTypeElement ()=0
virtual unsignedIntFib getType () const =0
virtual bool isCompatible (const cDomain &domain) const
virtual cDomaingetStandardDomain () const
virtual bool equalElementType (const cTypeElement &typeElement) const
virtual bool equal (const cTypeElement &typeElement) const
virtual bool operator== (const cTypeElement &typeElement) const
virtual cTypeElementclone () const =0
virtual unsignedLongFib getCompressedSize () const =0
virtual bool storeXml (ostream &ostream, const cDomain *domain=NULL) const =0
virtual cDomainrestoreXmlWithDomain (const TiXmlElement *pXmlElement, intFib &outStatus, const bool bRestoreDomain=true)=0
virtual bool store (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const =0
virtual intFib restore (cReadBits &iBitStream)=0
virtual bool isInherited () const

Static Public Member Functions

static cTypeElementrestoreXmlType (const TiXmlElement *pXmlElement, intFib &outStatus)
static pair< cTypeElement
*, cDomain * > 
restoreXmlTypeWithDomain (const TiXmlElement *pXmlElement, intFib &outStatus, const bool bRestoreDomain=true)
static cTypeElementrestore (cReadBits &iBitStream, intFib &outStatus)

Static Protected Member Functions

static bool isCounterDomain (const cDomain *pDomain)

Detailed Description

Definition at line 58 of file cTypeElement.h.


Constructor & Destructor Documentation

virtual fib::cTypeElement::~cTypeElement ( )
pure virtual

destructor


Member Function Documentation

virtual bool fib::cTypeElement::equal ( const cTypeElement typeElement) const
virtual

This Method checks if the given type is equal to this type.

Parameters:
typeElementthe typeelement to compare with this typeelement
Returns:
true if the given type is equal to this type, else false
virtual bool fib::cTypeElement::equalElementType ( const cTypeElement typeElement) const
virtual

This Method checks if the elementtype of the given type is equal to the elementtype of this type. Two elementtype are not equal if ther are for different fib -elements.

Parameters:
typeElementthe typeelement to compare with this typeelement
Returns:
true if the elementtype of the given type is equal to the elementtype of this type, else false

Reimplemented in fib::cTypeDimension, and fib::cTypeExtObject.

virtual unsignedLongFib fib::cTypeElement::getCompressedSize ( ) const
pure virtual

This method evaluades the size of the typeelement in bits in the compressed file form.

See also:
store()
Returns:
the size of the typeelement in bits in the compressed form

Implemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, fib::cTypeSubarea, fib::cTypeArea, fib::cTypeInVar, and fib::cTypeUnderFunction.

virtual cDomain* fib::cTypeElement::getStandardDomain ( ) const
virtual

This Method returns a pointer to a new instance of the standart domain for elements of this type. You have to delete the returned object after usage.

Returns:
the standart domain for elements of this type

Reimplemented in fib::cTypeProperty, fib::cTypeExtSubobject, fib::cTypeDimension, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeExtObject, fib::cTypeSubarea, fib::cTypeVariable, and fib::cTypeArea.

virtual unsignedIntFib fib::cTypeElement::getType ( ) const
pure virtual
virtual bool fib::cTypeElement::isCompatible ( const cDomain domain) const
virtual

This method checks, if this element type is compatible with the given domain. Just domains which are compadible can be used for the elements of this type.

Parameters:
domainthe domain, which should be compatible
Returns:
true if the given domain is compatible, else false

Reimplemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeExtObject, fib::cTypeComments, fib::cTypeSubarea, fib::cTypeVariable, and fib::cTypeArea.

static bool fib::cTypeElement::isCounterDomain ( const cDomain pDomain)
staticprotected
Returns:
true if the given domain is a domain for counters (it only contains positiv numbers), else false
virtual bool fib::cTypeElement::isInherited ( ) const
virtual
Returns:
true if domains of this type are inerted else false

Reimplemented in fib::cTypeExtSubobject, and fib::cTypeInVar.

virtual bool fib::cTypeElement::operator== ( const cTypeElement typeElement) const
virtual

This Method checks if the given type is equal to this type.

Parameters:
typeElementthe typeelement to compare with this typeelement
Returns:
true if the given type is equal to this type, else false

Reimplemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, and fib::cTypeInVar.

static cTypeElement* fib::cTypeElement::restore ( cReadBits iBitStream,
intFib outStatus 
)
static

This method restores a type from a bitstream, wher it is stored in the compressed fib -format.

See also:
store
Parameters:
iBitStreamthe stream where the type is stored in, because the stream is an cReadBits, any number of bits can be readed from it
outStatusan integer value with the errorvalue possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
Returns:
a pointer to the restored type or NULL
virtual intFib fib::cTypeElement::restore ( cReadBits iBitStream)
pure virtual

This method restores a type from a bitstream, wher it is stored in the compressed fib -format.

See also:
store
Parameters:
iBitStreamthe stream where the type is stored in, because the stream is an cReadBits, any number of bits can be readed from it
Returns:
an integer value with the errorvalue possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong

Implemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, fib::cTypeSubarea, fib::cTypeArea, fib::cTypeInVar, and fib::cTypeUnderFunction.

static cTypeElement* fib::cTypeElement::restoreXmlType ( const TiXmlElement *  pXmlElement,
intFib outStatus 
)
static

This method restores a type in the XML -format from a TinyXml element.

Factory Method

Parameters:
pXmlNodea pointer to the TinyXml node wher the type is stored in
outStatusan integer value with the errorvalue possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
Returns:
the pointer to the restored type, if it could be restored else it is a NULL pointer
static pair< cTypeElement * , cDomain * > fib::cTypeElement::restoreXmlTypeWithDomain ( const TiXmlElement *  pXmlElement,
intFib outStatus,
const bool  bRestoreDomain = true 
)
static

This method restores a type with a domain in the XML -format from an TinyXml element.

Factory Method

Parameters:
pXmlNodea pointer to the TinyXml node wher the type is stored in
outStatusan integer value with the errorvalue possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
bRestoreDomainif true a domain is to be asumed in the type element and it will be restored, else no domain will be restores
Returns:
a pair with the pointers to the restored type and domain if one couldn't be restored it's pointer is NULL
virtual cDomain* fib::cTypeElement::restoreXmlWithDomain ( const TiXmlElement *  pXmlElement,
intFib outStatus,
const bool  bRestoreDomain = true 
)
pure virtual

This method restores a type with a domain in the XML -format from an TinyXml element.

Factory Method

Parameters:
pXmlNodea pointer to the TinyXml node wher the type is stored in
outStatusan integer value with the errorvalue possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid pXmlElement
  • -2 loading error, invalid data in pXmlElement
  • 1 loading warning, invalid data in pXmlElement, error could be corrected
  • 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
bRestoreDomainif true a domain is to be asumed in the type element and it will be restored, else no domain will be restores
Returns:
a pointer to the restored domain, or NULL if it couldn't be restored

Implemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, fib::cTypeSubarea, fib::cTypeArea, fib::cTypeInVar, and fib::cTypeUnderFunction.

virtual bool fib::cTypeElement::store ( ostream &  stream,
char &  cRestBits,
unsigned char &  uiRestBitPosition 
) const
pure virtual

This method stores this typeelement in the compressed fib -format into the given stream. It is needed because the stream can yust store byts but the size of fib -elements can be any number of bits. Because of that ther have to be a possibility to exchange the missing bits betwean the fib -elements.

See also:
restore
cFibElement::store
Parameters:
streamthe stream where this typeelement should be stored to
cRestBitsthe not yet writen bits which should be stored
uiRestBitPositionthe number of bits in the cRestBits which should be writen respectively containing valid information
Returns:
true if the typeelement is stored, else false

Implemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, fib::cTypeSubarea, fib::cTypeArea, fib::cTypeInVar, and fib::cTypeUnderFunction.

virtual bool fib::cTypeElement::storeXml ( ostream &  ostream,
const cDomain domain = NULL 
) const
pure virtual

This method stores this type in the XML -format into the given stream.

Parameters:
ostreamthe stream where domains should be stored to
domainthe domain which should be stored to this type; if a Nullpointer NULL (the standardvalue) is given, no domain will be stored to this type
Returns:
true if this type are stored, else false

Implemented in fib::cTypeProperty, fib::cTypeDimension, fib::cTypeExtSubobject, fib::cTypeExtObject, fib::cTypeExtObjectInput, fib::cTypeFibMatrix, fib::cTypeFibSet, fib::cTypeComments, fib::cTypeVariable, fib::cTypeSubarea, fib::cTypeArea, fib::cTypeInVar, and fib::cTypeUnderFunction.


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