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::cFunctionSub Class Reference

#include <cFunctionSub.h>

Inheritance diagram for fib::cFunctionSub:
Collaboration diagram for fib::cFunctionSub:

List of all members.

Public Member Functions

 cFunctionSub (const cUnderFunction &firstUnderfunction, const cUnderFunction &secondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionSub (const cFunctionSub &underfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionSub (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionSub (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomainSingle *pInDomainValue, const cDomainSingle *pInDomainVariable, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
virtual doubleFib getValue () const
virtual bool store (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const
virtual unsignedIntFib getType () const
virtual string getUnderFunctionName () const
virtual cFunctionSubclone (cUnderFunction *pInSuperiorUnderFunction=NULL, cFibElement *pInDefiningFibElement=NULL) const
- Public Member Functions inherited from fib::cFunctionTwoValue
 cFunctionTwoValue (const cUnderFunction &firstUnderfunction, const cUnderFunction &secondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionTwoValue (cUnderFunction *pInFirstUnderfunction, cUnderFunction *pInSecondUnderfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionTwoValue (const cFunctionTwoValue &underfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionTwoValue (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
 cFunctionTwoValue (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomainSingle *pInDomainValue, const cDomainSingle *pInDomainVariable, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL)
virtual ~cFunctionTwoValue ()
cUnderFunctiongetFirstUnderFunction ()
const cUnderFunctiongetFirstUnderFunction () const
void setFirstUnderFunction (const cUnderFunction &underFunction, bool bDeleteOld=true)
cUnderFunctiongetSecondUnderFunction ()
const cUnderFunctiongetSecondUnderFunction () const
void setSecondUnderFunction (const cUnderFunction &underFunction, bool bDeleteOld=true)
virtual bool isValid () const
virtual bool isUsedVariable (const cFibVariable *variable) const
virtual set< cFibVariable * > getUsedVariables ()
virtual bool replaceVariable (cFibVariable *variableOld, cFibVariable *variableNew)
virtual unsignedIntFib getNumberOfUnderFunctions () const
virtual void setDefiningFibElement (cFibElement *fibElement=NULL, bool bCheckDomains=true)
virtual unsignedLongFib getTimeNeed (unsignedLongFib lMaxTime=0) const
virtual unsignedLongFib getCompressedSize () const
virtual bool storeXml (ostream &stream) const
virtual bool equal (const cUnderFunction &underfunction) const
- Public Member Functions inherited from fib::cUnderFunction
virtual ~cUnderFunction ()
virtual cTypeElementgetElementType () const
virtual cDomainSinglegetDomain () const
virtual cDomainSinglegetValueDomain () const
virtual cDomainSinglegetStandardDomain () const
virtual cDomainSinglegetVariableDomain () const
cFibElementgetDefiningFibElement () const
cUnderFunctiongetSuperiorUnderFunction () const
virtual bool operator== (const cUnderFunction &underfunction) const
bool operator!= (const cUnderFunction &underfunction) const

Additional Inherited Members

- Protected Attributes inherited from fib::cFunctionTwoValue
cUnderFunctionpFirstUnderfunction
cUnderFunctionpSecondUnderfunction
- Protected Attributes inherited from fib::cUnderFunction
cUnderFunctionpSuperiorUnderFunction
cFibElementpDefiningFibElement

Detailed Description

Definition at line 47 of file cFunctionSub.h.


Constructor & Destructor Documentation

fib::cFunctionSub::cFunctionSub ( const cUnderFunction firstUnderfunction,
const cUnderFunction secondUnderfunction,
cUnderFunction pInSuperiorFunction = NULL,
cFibElement pInDefiningFibElement = NULL 
)

The constructor of the underfunction.

Parameters:
firstUnderfunctionthe first underfunction for the function
See also:
pFirstUnderfunction
Parameters:
secondUnderfunctionthe second underfunction for the function
See also:
pSecondUnderfunction
Parameters:
pInSuperiorFunctionthe underfunction which contains the new underfunction
pInDefiningFibElementthe fib -element which defines/ uses the new underfunction
fib::cFunctionSub::cFunctionSub ( const cFunctionSub underfunction,
cUnderFunction pInSuperiorFunction = NULL,
cFibElement pInDefiningFibElement = NULL 
)

The copy constructor of the underfunction. This constructor will also copy the underfunctions of the given function.

Parameters:
underfunctionthe underfunction which to copy
pInSuperiorFunctionthe underfunction which contains the new underfunction
pInDefiningFibElementthe fib -element which defines/ uses the new underfunction
fib::cFunctionSub::cFunctionSub ( const TiXmlElement *  pXmlElement,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables,
cUnderFunction pInSuperiorFunction = NULL,
cFibElement pInDefiningFibElement = NULL 
)

The constructor for restoring a value underfunction from an TinyXml element.

Parameters:
pXmlNodea pointer to the TinyXml node the underfunction is stored in
outStatusAn reference to an integervalue where the errorvalue can be stored to. 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
liDefinedVariablesa list with the defined variables for the to restore fib -element, every variable should have it's number (the number under which it is stored) as it's value
pInSuperiorFunctionthe underfunction which contains the new underfunction
pInDefiningFibElementthe fib -element which defines/ uses the new underfunction
fib::cFunctionSub::cFunctionSub ( cReadBits iBitStream,
intFib outStatus,
list< cFibVariable * > &  liDefinedVariables,
const cDomainSingle pInDomainValue,
const cDomainSingle pInDomainVariable,
cUnderFunction pInSuperiorFunction = NULL,
cFibElement pInDefiningFibElement = NULL 
)

This constructor restores a value underfunction from the stream where it is stored in the compressed fib -format. Beware: The bits for the functiontype should be allready readed, this constructor reads yust the two underfunctions.

Parameters:
iBitStreamthe stream where this underfunction is stored to in, because this stream is an cReadBits, any number of bits can be readed from it
outStatusAn reference to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues are:
  • 0 loading successful
  • -1 loading error, invalid stream
  • -2 loading error, invalid data in stream
  • 1 loading warning, invalid data in stream, error could be corrected
  • 2 loading warning, invalid data in stream, maybe the loaded object is wrong
liDefinedVariablesa list with the defined variables for the to restore fib -element, every variable should have it's number (the number under which it is stored) as it's value
pInDomainValuethe domain for value underfunction
pInDomainVariablethe domain for variables
pInSuperiorFunctionthe underfunction which contains the new underfunction
pInDefiningFibElementthe fib -element which defines/ uses the new underfunction

Member Function Documentation

virtual cFunctionSub* fib::cFunctionSub::clone ( cUnderFunction pInSuperiorUnderFunction = NULL,
cFibElement pInDefiningFibElement = NULL 
) const
virtual

This method duplicates this whole underfunction. Underfunctions of this underfunction are also cloned.

Parameters:
pSuperiorUnderFunctionthe underfunction which contains
pInDefiningFibElementthe Fib -element which defines/ uses
Returns:
the cloned/ duplicated underfunction

Implements fib::cUnderFunction.

virtual unsignedIntFib fib::cFunctionSub::getType ( ) const
virtual
Returns:
the type for the underfunction

Implements fib::cUnderFunction.

virtual string fib::cFunctionSub::getUnderFunctionName ( ) const
virtual
Returns:
the name for the underfunction

Implements fib::cUnderFunction.

virtual doubleFib fib::cFunctionSub::getValue ( ) const
virtual

Returns the value of the underfunction or 0 if non such exists.

Returns:
the value of the underfunction or 0 if non such exists

Implements fib::cUnderFunction.

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

This method stores this Fib -object in the compressed Fib -format into the given stream. It is needed becouse 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:
store
Parameters:
streamthe stream where this Fib -object 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 this Fib -object is stored, else false

Implements fib::cUnderFunction.


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