C++ main module for gpm Package  1.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
MATH_ExpressionClassFactory Class Reference

this class describes a class factory to generate MATH_Expression classes. The nodes lists are initialised by the MATH_ExpressionClassFactory::initNodesLists() method. More...

#include <MATH_ExpressionClassFactory.h>

Inheritance diagram for MATH_ExpressionClassFactory:
Inheritance graph
[legend]
Collaboration diagram for MATH_ExpressionClassFactory:
Collaboration graph
[legend]

Public Member Functions

void resetFunctionsList ()
 reset functions list More...
 
void resetUnaryOperatorsList ()
 reset unary operators list More...
 
void resetBinaryOperatorsList ()
 reset binary operators list More...
 
void addToFunctionsList (SP::MATH_FunctionNode fct)
 add a function node to functions list More...
 
void addToUnaryOperatorsList (SP::MATH_UnaryOperator op)
 add an unary operator to unary operators list More...
 
void addToBinaryOperatorsList (SP::MATH_BinaryOperator op)
 add an binary operator to binary operators list More...
 
virtual SP::CORE_Object NewInstance (const tString &name, const SVC::CORE_Object &newParameters) const
 create an instance of a class More...
 
SP::MATH_ChildExpression NewInstance (const tString &formula, int &retCode) const
 return the new expression corresponding to the beginnig of the formula More...
 
virtual void initNodesLists ()
 init the node lists More...
 
void clearClasses ()
 clear registered classes More...
 
void addClass (const tString &key, SP::CORE_Object c)
 add registered class More...
 
void addConstClass (const tString &key, SPC::CORE_Object c)
 add registered class More...
 
SP::CORE_Object getClass (const tString &key)
 get the registered class with key More...
 
SPC::CORE_Object getConstClass (const tString &key)
 get the registered class with key More...
 
virtual SP::CORE_Object NewInstance (const tString &name) const
 create an instance of a class More...
 
void getSharedPointer (SP::CORE_Object &p)
 get the shared pointer of this class into p More...
 
void getSharedPointer (SPC::CORE_Object &p) const
 get the shared pointer of this class into p More...
 
tString getClassName () const
 return the class name of the object More...
 
tString getIdentityString () const
 return the identity string of the object of the form className_at_address More...
 
tString getPointerAddress () const
 return the identity string of the object More...
 
template<class T >
tBoolean isInstanceOf () const
 return true if the object is an instance of T More...
 
virtual tString toString () const
 return the string representation of the object node More...
 
virtual void print ()
 print the class More...
 
virtual ostream & print (ostream &out) const
 print the class More...
 
virtual void print (const tString &message)
 print the class More...
 
virtual void print (const tInteger &str)
 print More...
 
virtual void print (const tRelativeInteger &str)
 print More...
 
virtual void print (const tReal &str)
 print More...
 
virtual void print (const int &str)
 print More...
 

Static Public Member Functions

static
SP::MATH_ExpressionClassFactory 
New ()
 create a class factory More...
 
static tString getClassName (const tString &identityString)
 return the class name of the object using only the identity string More...
 
template<class T >
static tString getTypeName ()
 get type name More...
 
static tBoolean is64Architecture ()
 return true if the machine is a 64 bits machine More...
 
static tBoolean is32Architecture ()
 return true if the machine is a 32 bits machine More...
 
static tString pointer2String (const void *obj)
 return the string represantation of a pointer More...
 
static void setOutput (ostream &out)
 set output More...
 
static ostream & getOutput ()
 get output More...
 
static void printObjectsInMemory ()
 print object in memory More...
 
static ostream & print (ostream &out, const tString &message)
 print the class More...
 
static void outputPrint (const tString &message)
 

Static Public Attributes

static const tFlag UNKNOWN_NODE =5
 
static const tFlag BLOCK_MISMATCHED =6
 
static const tFlag END_ARGUMENT =7
 
static const tFlag EMPTY =8
 
static const tFlag SPACE =4
 
static tBoolean mIsMemoryTesting =false
 indicator to store all classes created and deleted only for debuging version More...
 

Protected Member Functions

 MATH_ExpressionClassFactory ()
 build a MATH_ExpressionClassFactory More...
 
virtual ~MATH_ExpressionClassFactory (void)
 destroy a MATH_ExpressionClassFactory More...
 
void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void setType (tString type)
 set the type of the object More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Detailed Description

this class describes a class factory to generate MATH_Expression classes. The nodes lists are initialised by the MATH_ExpressionClassFactory::initNodesLists() method.

Constructor & Destructor Documentation

MATH_ExpressionClassFactory::MATH_ExpressionClassFactory ( )
protected

build a MATH_ExpressionClassFactory

Referenced by New().

Here is the caller graph for this function:

MATH_ExpressionClassFactory::~MATH_ExpressionClassFactory ( void  )
protectedvirtual

Member Function Documentation

void CORE_ClassFactory::addClass ( const tString key,
SP::CORE_Object  c 
)
inlineinherited

add registered class

References CORE_SharedPointersVMap< Key, Value >::put().

Here is the call graph for this function:

void CORE_ClassFactory::addConstClass ( const tString key,
SPC::CORE_Object  c 
)
inlineinherited

add registered class

References CORE_SharedPointersVMap< Key, Value >::put().

Here is the call graph for this function:

void MATH_ExpressionClassFactory::addToBinaryOperatorsList ( SP::MATH_BinaryOperator  op)
inline

add an binary operator to binary operators list

void MATH_ExpressionClassFactory::addToFunctionsList ( SP::MATH_FunctionNode  fct)
inline

add a function node to functions list

void MATH_ExpressionClassFactory::addToUnaryOperatorsList ( SP::MATH_UnaryOperator  op)
inline

add an unary operator to unary operators list

void CORE_ClassFactory::clearClasses ( )
inlineinherited

clear registered classes

References CORE_SharedPointersVMap< Key, Value >::clear().

Here is the call graph for this function:

SP::CORE_Object CORE_ClassFactory::getClass ( const tString key)
inlineinherited

get the registered class with key

static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object using only the identity string

Referenced by CORE_Object::printObjectsInMemory().

Here is the caller graph for this function:

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString().

Here is the caller graph for this function:

SPC::CORE_Object CORE_ClassFactory::getConstClass ( const tString key)
inlineinherited

get the registered class with key

tString CORE_Object::getIdentityString ( ) const
inlineinherited

return the identity string of the object of the form className_at_address

Returns
the identity string of the object

References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.

Referenced by CORE_Object::toString().

Here is the call graph for this function:

Here is the caller graph for this function:

static ostream& CORE_Object::getOutput ( )
inlinestaticinherited

get output

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited
void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

References tString.

void MATH_ExpressionClassFactory::initNodesLists ( )
virtual
static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

References CORE_Object::is64Architecture().

Here is the call graph for this function:

tBoolean CORE_Object::is64Architecture ( )
staticinherited

return true if the machine is a 64 bits machine

Referenced by CORE_Object::is32Architecture().

Here is the caller graph for this function:

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

return true if the object is an instance of T

References null.

Referenced by MATH_BinaryOperator::insertInTree(), MATH_UnaryOperator::insertInTree(), and MATH_EndBlock::insertInTree().

Here is the caller graph for this function:

static SP::MATH_ExpressionClassFactory MATH_ExpressionClassFactory::New ( )
inlinestatic

create a class factory

References MATH_ExpressionClassFactory().

Referenced by MATH_RootExpression::newClassFactoryInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SP::CORE_Object CORE_ClassFactory::NewInstance ( const tString name) const
inlinevirtualinherited

create an instance of a class

Reimplemented in GPM_ModelClassFactory, and GPM_ClassFactory.

References CORE_ClassFactory::NewInstance().

Here is the call graph for this function:

SP::CORE_Object MATH_ExpressionClassFactory::NewInstance ( const tString name,
const SVC::CORE_Object &  newParameters 
) const
virtual

create an instance of a class

Reimplemented from CORE_ClassFactory.

References MATH_EndBlock::New(), MATH_BeginBlock::New(), MATH_RootExpression::New(), MATH_LeafExpression::New(), and CORE_ClassFactory::NewInstance().

Here is the call graph for this function:

SP::MATH_ChildExpression MATH_ExpressionClassFactory::NewInstance ( const tString formula,
int &  retCode 
) const

return the new expression corresponding to the beginnig of the formula

Parameters
algebric formula return an expression either a node, a leaf or null retCode=UNKNOWN_NODE: if the return instance is a an unknown node retCode=EMPTY: if the formula is empty retCode=END_ARGUMENT: if the formula is end of argument of function retCode=BLOCK_MISMATCHED if a end block is detected without a corresponding begin block

References MATH_LeafExpression::New(), null, tString, and UNKNOWN_NODE.

Here is the call graph for this function:

void CORE_Object::outputPrint ( const tString message)
staticinherited

print on output

References null, and CORE_Object::print().

Referenced by CORE_Exception::CORE_Exception().

Here is the call graph for this function:

Here is the caller graph for this function:

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string represantation of a pointer

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

virtual void CORE_Object::print ( )
inlinevirtualinherited

print the class

References CORE_Object::toString().

Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual ostream& CORE_Object::print ( ostream &  out) const
inlinevirtualinherited

print the class

References CORE_Object::print(), and CORE_Object::toString().

Here is the call graph for this function:

void CORE_Object::print ( const tString message)
virtualinherited

print the class

Reimplemented in CORE_Out.

References null, and CORE_Object::print().

Here is the call graph for this function:

void CORE_Object::print ( const tInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tRelativeInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tReal str)
virtualinherited

print

References null.

void CORE_Object::print ( const int &  str)
virtualinherited

print

References null.

static ostream& CORE_Object::print ( ostream &  out,
const tString message 
)
inlinestaticinherited

print the class

void CORE_Object::printObjectsInMemory ( )
staticinherited

print object in memory

References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void MATH_ExpressionClassFactory::resetBinaryOperatorsList ( )
inline

reset binary operators list

void MATH_ExpressionClassFactory::resetFunctionsList ( )
inline

reset functions list

void MATH_ExpressionClassFactory::resetUnaryOperatorsList ( )
inline

reset unary operators list

static void CORE_Object::setOutput ( ostream &  out)
inlinestaticinherited

set output

void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

virtual void CORE_Object::setType ( tString  type)
inlineprotectedvirtualinherited
virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited
tString CORE_Object::toString ( ) const
virtualinherited

Member Data Documentation

const tFlag MATH_ExpressionClassFactory::BLOCK_MISMATCHED =6
static
const tFlag MATH_ExpressionClassFactory::EMPTY =8
static
const tFlag MATH_ExpressionClassFactory::END_ARGUMENT =7
static
tBoolean CORE_Object::mIsMemoryTesting =false
staticinherited

indicator to store all classes created and deleted only for debuging version

Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().

const tFlag MATH_ExpressionClassFactory::SPACE =4
static
const tFlag MATH_ExpressionClassFactory::UNKNOWN_NODE =5
static

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