C++ main module for gpm Package
1.0
|
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>
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... | |
this class describes a class factory to generate MATH_Expression classes. The nodes lists are initialised by the MATH_ExpressionClassFactory::initNodesLists() method.
|
protected |
build a MATH_ExpressionClassFactory
Referenced by New().
|
protectedvirtual |
destroy a MATH_ExpressionClassFactory
|
inlineinherited |
add registered class
References CORE_SharedPointersVMap< Key, Value >::put().
|
inlineinherited |
add registered class
References CORE_SharedPointersVMap< Key, Value >::put().
|
inline |
add an binary operator to binary operators list
|
inline |
add a function node to functions list
|
inline |
add an unary operator to unary operators list
|
inlineinherited |
clear registered classes
References CORE_SharedPointersVMap< Key, Value >::clear().
|
inlineinherited |
get the registered class with key
return the class name of the object using only the identity string
Referenced by CORE_Object::printObjectsInMemory().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().
|
inlineinherited |
get the registered class with key
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by CORE_Object::toString().
|
inlinestaticinherited |
get output
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlineinherited |
get the shared pointer of this class into p
Referenced by MATH_ParentExpression::addArgument(), GPMG_EnvironmentPanel::componentClicked(), GPM_GraphElement::copy(), CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< T >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), CORE_Object::printObjectsInMemory(), MATH_ParentExpression::setArgument(), GPMG_EnvironmentPanel::setEnvironment(), GPM_GraphElement::setGraph(), GPMG_GraphElementWindow::setGraphElement(), GPMG_ShowGraphDrawPanel::showGraph(), and GPMG_RuleGraphDrawPanel::showRule().
|
inlineinherited |
get the shared pointer of this class into p
|
inlinestaticinherited |
get type name
References tString.
|
virtual |
init the node lists
References MATH_ArrayFunction::New(), MATH_AddOperator::New(), MATH_NotOperator::New(), MATH_AndOperator::New(), MATH_OrOperator::New(), MATH_MultiplyOperator::New(), MATH_RANDFunction::New(), MATH_ModuloOperator::New(), MATH_NotBitwiseOperator::New(), MATH_DivideOperator::New(), MATH_SHFunction::New(), MATH_THFunction::New(), MATH_ACHFunction::New(), MATH_ASHFunction::New(), MATH_ATHFunction::New(), MATH_SQRTFunction::New(), MATH_LOGFunction::New(), MATH_LNFunction::New(), MATH_POWFunction::New(), MATH_CHFunction::New(), MATH_EQOperator::New(), MATH_EXPFunction::New(), MATH_COSFunction::New(), MATH_LEOperator::New(), MATH_SINFunction::New(), MATH_TANFunction::New(), MATH_ACOSFunction::New(), MATH_ASINFunction::New(), MATH_ATANFunction::New(), MATH_NEQOperator::New(), MATH_AndBitwiseOperator::New(), MATH_OrBitwiseOperator::New(), MATH_XorBitwiseOperator::New(), MATH_MinusOperator::New(), MATH_EOperator::New(), MATH_VectorFunction::New(), MATH_LTOperator::New(), MATH_XBoxSet::New(), MATH_GTOperator::New(), MATH_ZBoxSet::New(), MATH_LinearTransform::New(), MATH_YBoxSet::New(), MATH_GEOperator::New(), MATH_ParableSet::New(), MATH_TranslationTransform::New(), MATH_FullSet::New(), MATH_DiskSet::New(), MATH_RectangleSet::New(), and MATH_RotationTransform::New().
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().
|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().
|
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().
|
inlinestatic |
create a class factory
References MATH_ExpressionClassFactory().
Referenced by MATH_RootExpression::newClassFactoryInstance().
|
inlinevirtualinherited |
create an instance of a class
Reimplemented in GPM_ModelClassFactory, and GPM_ClassFactory.
References CORE_ClassFactory::NewInstance().
|
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().
SP::MATH_ChildExpression MATH_ExpressionClassFactory::NewInstance | ( | const tString & | formula, |
int & | retCode | ||
) | const |
return the new expression corresponding to the beginnig of the formula
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.
|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().
|
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().
|
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().
|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().
|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().
|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().
|
inline |
reset binary operators list
|
inline |
reset functions list
|
inline |
reset unary operators list
|
inlinestaticinherited |
set output
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().
|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by CORE_CommandLine::CORE_CommandLine(), CORE_IO::CORE_IO(), GPM_2DSnowGraph::GPM_2DSnowGraph(), GPM_BGLTest::GPM_BGLTest(), GPM_ClassFactory::GPM_ClassFactory(), GPM_ConwayFunction::GPM_ConwayFunction(), GPM_ConwayGraph::GPM_ConwayGraph(), GPM_CoreRun::GPM_CoreRun(), GPM_CoreTest::GPM_CoreTest(), GPM_Edge::GPM_Edge(), GPM_ExamplesRun::GPM_ExamplesRun(), GPM_Function::GPM_Function(), GPM_Graph::GPM_Graph(), GPM_GraphElement::GPM_GraphElement(), GPM_ModelGraph::GPM_ModelGraph(), GPM_Node::GPM_Node(), GPM_Object::GPM_Object(), GPM_PatternFunction::GPM_PatternFunction(), GPM_Port::GPM_Port(), GPM_PortGraph::GPM_PortGraph(), GPM_Snow2DFunction::GPM_Snow2DFunction(), GPM_Snow3DFunction::GPM_Snow3DFunction(), GPM_Vertex::GPM_Vertex(), and MATH_ExpressionRun::MATH_ExpressionRun().
|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in GPM_2DSnowGraph, GPMG_EnvironmentWindow, GPM_GraphElement, GPM_ModelFunction, GPM_ModelGraph, GPMG_RuleGraphWindow, GPMG_MovieGraphWindow, GPMG_ShowGraphWindow, and GPM_Function.
Referenced by CORE_Object::setThis(), GPM_ModelGraph::toDoAfterThisSetting(), GPM_GraphElement::toDoAfterThisSetting(), and GPM_2DSnowGraph::toDoAfterThisSetting().
|
virtualinherited |
return the string representation of the object node
Reimplemented in CORE_Time, CORE_Vector< T >, CORE_Array< T >, GPM_PatternFunction, GPM_Graph, CORE_Array2D< T >, GPM_GraphElement, MATH_Variable, CORE_Color, CORE_Matrix< T >, GPM_ModelFunction, CORE_SharedPointersVMap< Key, Value >, CORE_SharedPointersVMap< tString, const CORE_Object >, CORE_SharedPointersVMap< tString, CORE_Object >, CORE_SharedPointersListVMap< Key, Value >, GPM_Rule, CORE_SharedPointersKVMap< Key, Value >, GPM_Variable, GPM_Vertex, MATH_Environment, MATH_ParentExpression, MATH_RootExpression, MATH_LeafExpression, CORE_String, MATH_FunctionNode, CORE_Integer, GPM_Edge, CORE_Array3D< T >, GPM_Port, GPM_Node, MATH_UnaryOperator, CORE_Complex, MATH_BinaryOperator, and CORE_Real.
References CORE_Object::getIdentityString().
Referenced by CORE_Object::print(), MATH_ParentExpression::toString(), CORE_SharedPointersKVMap< Key, Value >::toString(), CORE_SharedPointersListVMap< Key, Value >::toString(), CORE_SharedPointersVMap< Key, Value >::toString(), and GPM_PatternFunction::toString().
|
static |
Referenced by MATH_RootExpression::parse(), and MATH_FunctionNode::readArguments().
|
static |
Referenced by MATH_RootExpression::parse().
|
static |
Referenced by MATH_RootExpression::parse(), and MATH_FunctionNode::readArguments().
|
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().
|
static |
|
static |
Referenced by NewInstance(), and MATH_RootExpression::parse().