NLAISCRIPT::COperationTypeGD Class Reference

#include <type_def.h>

Inheritance diagram for NLAISCRIPT::COperationTypeGD:

NLAISCRIPT::IOpType NLAISCRIPT::IConstraint NLAIC::IPointerGestion NLMISC::IStreamable NLMISC::IClassable

Detailed Description

Class COperationTypeGD.

This class define an unknow opertation type. For exemple to know the type of the expression (a + b).

Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 695 of file type_def.h.

Public Types

enum  ConstraintTypeEnum {
  constraintMethode, constraintChkMethodeType, operandSimple, operandSimpleListOr,
  operandAnyObject, operandVoid, operandUnknown, operationType,
  operationTypeGD, operandListType, constraintStackComp, constraintDebug,
  constraintFindRun
}

Public Member Functions

void addConstraint (IConstraint *c)
 Add a constraint dependency. We add a constraint dependency when a given constraint want the result of an other constraint.

const IConstraintclone () const
 Get a clone pointer memory.

 COperationTypeGD ()
 COperationTypeGD (const COperationType &opG, const COperationType &opD, NLAIC::CTypeOfOperator::TTypeOp op)
sint32 decRef ()
 Decrement the reference of an object.

bool dependOn (const IConstraint *c) const
 If this constraint depond on other constraint.

const NLAIC::CIdentTypegetConstraintTypeOf ()
 Type of the expression that it have to be resolve by constraint.

virtual void getDebugString (std::string &t) const
const char * getInfo ()
 Get a string info.

const sint32getRef () const
 get the refence count.

virtual ConstraintTypeEnum getTypeOfClass () const
 get the type of class. the type must be in the ConstraintTypeEnum enumeration.

void incRef ()
 Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

bool operator== (const IConstraint &c) const
void popConstraint (IConstraint *c)
 pop the last constaint dependency.

virtual void release ()
 Release allow to release the pointer. The last release when the _Ref is nul delete the object.

void run (IConstraint *c)
 Run with a IConstraint dependency.

virtual void run (CCompilateur &c)
 Run with a CCompilateur dependency.

void runConnexcion ()
 When a constraint is resoved,we call all dependency.

bool satisfied ()
 If the constraint is resolved.

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
void setOp (NLAIC::CTypeOfOperator::TTypeOp op)
void setOperationD (IOpType *opD)
void setOperationG (IOpType *opG)
virtual ~COperationTypeGD ()
Redefinition of base class method
virtual void addIndex (int i, CCodeBrancheRun *)
virtual double eval (IOpType *)
double evalParam (IOpType *)
Redefinition of base class method
virtual void addIndex (int i, CCodeBrancheRun *)
virtual double eval (IOpType *)
double evalParam (IOpType *)
virtual int getColone () const
 get the colone of the expression that it have to be resolve by constraint in the code source.

virtual void getError (char *) const
 get an error string when the constraint is'nt stisfied.

virtual int getLine () const
 get the line of the expression that it have to be resolve by constraint in the code source.

Redefinition of base class method
virtual void addIndex (int i, CCodeBrancheRun *)
virtual double eval (IOpType *)
double evalParam (IOpType *)
virtual int getColone () const
 get the colone of the expression that it have to be resolve by constraint in the code source.

virtual void getError (char *) const
 get an error string when the constraint is'nt stisfied.

virtual int getLine () const
 get the line of the expression that it have to be resolve by constraint in the code source.

Redefinition of base class method
virtual void addIndex (int i, CCodeBrancheRun *)
virtual double eval (IOpType *)
double evalParam (IOpType *)
virtual int getColone () const
 get the colone of the expression that it have to be resolve by constraint in the code source.

virtual void getError (char *) const
 get an error string when the constraint is'nt stisfied.

virtual int getLine () const
 get the line of the expression that it have to be resolve by constraint in the code source.


Static Public Member Functions

const IOpTypeloadIOpType (NLMISC::IStream &f)
 Loader for IOpType. Not that we save and load an know type.


Private Attributes

NLAIC::CIdentType_Id
NLAIC::CTypeOfOperator::TTypeOp _Op
 Operation type.

IOpType_OpD
IOpType_OpG
 Right oprand.

char * _TxtInfo


Member Enumeration Documentation

enum NLAISCRIPT::IConstraint::ConstraintTypeEnum [inherited]
 

This enum define all IConstraint class type defined. That is'nt very clean because it is'nt very objects way to do jobs but that make easy to make job with out make heavy the hisarchy class. Because the best way is to derive class form NLAIC::IBasicInterface but we have to register class in class factory, define a save an load ..., in short make a lot of work for an internal work. If later peopole need this kind of class we'll clean it.

Enumeration values:
constraintMethode  Class CConstraintMethode.
constraintChkMethodeType  Class CConstraintChkMethodeType.
operandSimple  Class COperandSimple.
operandSimpleListOr  class COperandSimpleListOr
operandAnyObject  Any class!!!!
operandVoid  Class COperandVoid.
operandUnknown  Class COperandUnknown.
operationType  Class COperationType.
operationTypeGD  Class COperationTypeGD.
operandListType  Class COperandListType.
constraintStackComp  Class CConstraintStackComp.
constraintDebug  Class CConstraintDebug.
constraintFindRun  Class CConstraintFindRun.

Definition at line 138 of file constraint.h.


Constructor & Destructor Documentation

NLAISCRIPT::COperationTypeGD::COperationTypeGD const COperationType opG,
const COperationType opD,
NLAIC::CTypeOfOperator::TTypeOp  op
[inline]
 

Definition at line 707 of file type_def.h.

References _OpD, _OpG, and NLAISCRIPT::IConstraint::getInfo().

00707                                                                                                                     :
00708                                 _OpG((IOpType   *)opG.clone()),_OpD((IOpType *)opD.clone()),_Op(op)
00709                 {
00710                         char txt[1028*8];               
00711                         sprintf(txt,"constraint<COperationType> for <%s> <%s>",_OpG->getInfo(),_OpD->getInfo());
00712                         _TxtInfo = new char [strlen(txt) + 1];
00713                         strcpy(_TxtInfo,txt);
00714                         _Id = NULL;
00715                         _TxtInfo = NULL;
00716                                         
00717                 }
                

NLAISCRIPT::COperationTypeGD::COperationTypeGD  )  [inline]
 

Definition at line 719 of file type_def.h.

References _OpD, and _OpG.

Referenced by clone().

00720                 {
00721                         _OpG = _OpD = NULL;
00722                         _Op = (NLAIC::CTypeOfOperator::TTypeOp)0;
00723                         _Id = NULL;
00724                         _TxtInfo = NULL;
00725                 }

virtual NLAISCRIPT::COperationTypeGD::~COperationTypeGD  )  [inline, virtual]
 

Definition at line 813 of file type_def.h.

References _OpD, _OpG, and NLAIC::IPointerGestion::release().

00814                 {
00815                         if(_OpG) _OpG->release();
00816                         if(_OpD) _OpD->release();
00817                         delete _TxtInfo;
00818                 }


Member Function Documentation

void NLAISCRIPT::IConstraint::addConstraint IConstraint c  )  [inline, inherited]
 

Add a constraint dependency. We add a constraint dependency when a given constraint want the result of an other constraint.

Definition at line 207 of file constraint.h.

References NLAISCRIPT::IConstraint::_ConstraintList.

Referenced by NLAISCRIPT::COperandUnknown::COperandUnknown().

00208                 {
00209                         _ConstraintList.push_back(c);
00210                 }

virtual void NLAISCRIPT::IOpType::addIndex int  i,
CCodeBrancheRun
[inline, virtual, inherited]
 

Add a op-code dependency. the integer n is the index of the opcode in in the opcodePtr pointer.

Implements NLAISCRIPT::IConstraint.

Definition at line 55 of file type_def.h.

00055 {}

const IConstraint* NLAISCRIPT::COperationTypeGD::clone  )  const [inline, virtual]
 

Get a clone pointer memory.

Implements NLAISCRIPT::IConstraint.

Definition at line 770 of file type_def.h.

References _OpD, _OpG, COperationTypeGD(), and x.

00771                 {
00772                         IConstraint *x = new COperationTypeGD ((const COperationType &)*_OpG,(const COperationType &)*_OpD,_Op);
00773                         return x;
00774                 }

sint32 NLAIC::IPointerGestion::decRef  )  [inline, inherited]
 

Decrement the reference of an object.

Definition at line 93 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIC::IPointerGestion::release(), and NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00094                 {
00095                         return --_Ref;
00096                 }

bool NLAISCRIPT::COperationTypeGD::dependOn const IConstraint c  )  const [inline, virtual]
 

If this constraint depond on other constraint.

Implements NLAISCRIPT::IConstraint.

Definition at line 749 of file type_def.h.

References _OpD, _OpG, and NLAISCRIPT::IConstraint::dependOn().

00750                 {
00751                         return _OpG->dependOn(c) || c == _OpG || _OpD->dependOn(c) || c == _OpD;
00752                 }

double NLAISCRIPT::IOpType::eval IOpType  )  [virtual, inherited]
 

Reimplemented in NLAISCRIPT::COperandSimpleListOr.

Definition at line 76 of file type_def.cpp.

References NLAISCRIPT::IOpType::evalParam(), NLAISCRIPT::IConstraint::getConstraintTypeOf(), NLAISCRIPT::IConstraint::getTypeOfClass(), NLAISCRIPT::l, and x.

Referenced by NLAISCRIPT::CParam::eval().

00077         {
00078                 if(getConstraintTypeOf() != NULL && e->getConstraintTypeOf() != NULL)
00079                 {
00080                         if(e->getTypeOfClass() == operandSimpleListOr)
00081                         {
00082                                 COperandSimpleListOr *l = (COperandSimpleListOr *)e;
00083                                 std::list<NLAIC::CIdentType *>::const_iterator i = l->getList().begin();
00084                                 while(i != l->getList().end() )
00085                                 {
00086                                         COperandSimple *x =new COperandSimple (new NLAIC::CIdentType(*(*i++)));
00087                                         double d = evalParam(x);
00088                                         delete x;
00089                                         if(d >= 0.0) return d;                                  
00090                                 }
00091 
00092                         }
00093                         else return evalParam(e);
00094                 }
00095                 return -1.0;
00096         }

double NLAISCRIPT::IOpType::evalParam IOpType  )  [inherited]
 

Definition at line 34 of file type_def.cpp.

References NLAISCRIPT::IClassInterpret::getComputeBaseClass(), NLAISCRIPT::IConstraint::getConstraintTypeOf(), NLAIC::CIdentType::getFactory(), NLAISCRIPT::IClassInterpret::getType(), and type.

Referenced by NLAISCRIPT::IOpType::eval().

00035         {
00036                 double d;
00037                 if(e->getConstraintTypeOf() != NULL)
00038                 {
00039                         const NLAIC::CIdentType &idG = *getConstraintTypeOf();
00040                         const NLAIC::CIdentType &idD = *e->getConstraintTypeOf();
00041                         if(!(idG == idD))
00042                         {
00043                                 if(((const NLAIC::CTypeOfObject &)idD) & NLAIC::CTypeOfObject::tInterpret )
00044                                 {
00045                                         IClassInterpret *o = (IClassInterpret *)((CClassInterpretFactory *)idD.getFactory())->getClass();                                               
00046                                         bool type = false;                                              
00047                                         d = 0.0;
00048                                         while(o != NULL)
00049                                         {                                                               
00050                                                 if( o->getType() == idG)
00051                                                 {
00052                                                         d += 1.0;
00053                                                         type = true;
00054                                                         break;
00055                                                 }
00056                                                 o = (IClassInterpret *)o->getComputeBaseClass();                                                
00057                                         }
00058                                         if(!type) return -1.0;
00059                                         else return d;
00060                                 }
00061                                 else
00062                                 {
00063                                         //NLAIC::CTypeOfObject o_t(tNombre | TString | tList | tLogic);
00064                                         if(((const NLAIC::CTypeOfObject &)idD) & ((const NLAIC::CTypeOfObject &)idG))
00065                                         {
00066                                                 return 0.0;
00067                                         }
00068                                         else return -1.0;
00069                                 }
00070                         }
00071                         else return 0.0;
00072                 }
00073                 else return -1.0;               
00074         }

virtual std::string NLAIC::IPointerGestion::getClassName  )  [inline, virtual, inherited]
 

Implements NLMISC::IClassable.

Reimplemented in NLAIC::CIdentType.

Definition at line 116 of file abstract_interface.h.

Referenced by NLAISCRIPT::CAgentClass::isClassInheritedFrom().

00117                 {
00118                         return std::string("<unnamed>");
00119                 }

virtual int NLAISCRIPT::IOpType::getColone  )  const [inline, virtual, inherited]
 

get the colone of the expression that it have to be resolve by constraint in the code source.

Implements NLAISCRIPT::IConstraint.

Reimplemented in NLAISCRIPT::CConstraintStackComp.

Definition at line 58 of file type_def.h.

00058 {return 0;}

const NLAIC::CIdentType* NLAISCRIPT::COperationTypeGD::getConstraintTypeOf  )  [inline, virtual]
 

Type of the expression that it have to be resolve by constraint.

Implements NLAISCRIPT::IConstraint.

Definition at line 789 of file type_def.h.

References _OpG, NLAISCRIPT::IConstraint::getConstraintTypeOf(), and satisfied().

Referenced by run().

00790                 {                       
00791                         if(satisfied()) return (_Id = (NLAIC::CIdentType *)_OpG->getConstraintTypeOf());
00792                         return NULL;
00793                 }

virtual void NLAIC::IPointerGestion::getDebugString std::string &  t  )  const [inline, virtual, inherited]
 

Reimplemented in NLAILINK::IOTrace, NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::VectorType, NLAIAGENT::DigitalType, NLAIAGENT::BorneDigitalType, NLAIAGENT::DDigitalType, NLAIAGENT::BorneDDigitalType, NLAIAGENT::IntegerType, NLAIAGENT::ShortIntegerType, NLAIAGENT::CharType, NLAIAGENT::UInt8Type, NLAIAGENT::UInt16Type, NLAIAGENT::UInt32Type, NLAIAGENT::UInt64Type, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CStringType, NLAIAGENT::CPairType, NLAIAGENT::CGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CStringVarName, NLAIAGENT::CIndexedVarName, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CLibTimerManager, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentTimerHandle, NLAILOGIC::CGoalStack, NLAIAGENT::CLocWordNumRef, NLAIAGENT::IListBasicManager, NLAIAGENT::CLocalMailBox, NLAIAGENT::CMessageScript, NLAIAGENT::IMessageBase, NLAIAGENT::CSuccessMsg, NLAIAGENT::CFailureMsg, NLAIAGENT::CFactMsg, NLAIAGENT::CGetValueMsg, NLAIAGENT::CGoalMsg, NLAIAGENT::CCancelGoalMsg, NLAIAGENT::CMessageGroup, NLAIAGENT::CNotifyParentScript, NLAIAGENT::COnChangeMsg, NLAIAGENT::CSetValueMsg, NLAIAGENT::CObjectIdent, NLAIAGENT::CObjectType, NLAIAGENT::CAgentOperation, NLAIAGENT::CHashTimerManager, NLAIAGENT::CVolatilMemmory, NLAIC::IBasicType, NLAIC::CSelfClassFactory, NLAIC::CBinaryType, NLAICHARACTER::CCharacterChild, NLAIFUZZY::CSimpleFuzzyCond, NLAIFUZZY::CFuzzyFact, NLAIFUZZY::CFuzzyRule, NLAIFUZZY::CFuzzyRuleSet, NLAIFUZZY::CFuzzyInterval, NLAIFUZZY::CRightFuzzySet, NLAIFUZZY::CTriangleFuzzySet, NLAIFUZZY::CTrapezeFuzzySet, NLAIFUZZY::CLeftFuzzySet, NLAIFUZZY::FuzzyType, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CBoolAssert, NLAILOGIC::CBoolOperator, NLAILOGIC::CBoolType, NLAILOGIC::CClause, NLAILOGIC::CFact, NLAILOGIC::CFactBase, NLAILOGIC::CFirstOrderAssert, NLAILOGIC::CFirstOrderOperator, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, NLAILOGIC::CGoal, NLAILOGIC::CInternalGoal, NLAILOGIC::CGoalStack, NLAISCRIPT::COperatorClass, NLAIAGENT::COperatorScript, NLAILOGIC::CRule, NLAILOGIC::CValueSet, NLAILOGIC::CVar, NLAILOGIC::CVarSet, NLAILOGIC::CFactPattern, NLAISCRIPT::CCodeContext, NLAISCRIPT::CCodeBrancheRun, NLAISCRIPT::CContextDebug, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CParam, NLAISCRIPT::CMethodeName, NLAISCRIPT::CClassInterpretFactory, NLAISCRIPT::CAgentClass, NLAISCRIPT::CManagerClass, NLAISCRIPT::CMessageClass, NLAISCRIPT::CCallPrint, NLAISCRIPT::IBlock, NLAISCRIPT::ILoadObject, NLAISCRIPT::CObjectUnknown, NLAISCRIPT::CTellOpCode, NLAISCRIPT::CLdbOpCode, NLAISCRIPT::CLdbMemberOpCode, NLAISCRIPT::CLdbMemberiOpCode, NLAISCRIPT::CLdbStackMemberiOpCode, NLAISCRIPT::CLdbHeapMemberiOpCode, NLAISCRIPT::CScriptDebugSourceFile, NLAISCRIPT::CScriptDebugSourceMemory, NLAISCRIPT::CLibTest, NLAISCRIPT::CVarPStack, NLAISCRIPT::CVarPStackParam, and NLAISCRIPT::IOpRunCode.

Definition at line 104 of file abstract_interface.h.

References t.

00105                 {
00106                         t += "None";
00107                 }

virtual void NLAISCRIPT::IOpType::getError char *   )  const [inline, virtual, inherited]
 

get an error string when the constraint is'nt stisfied.

Implements NLAISCRIPT::IConstraint.

Reimplemented in NLAISCRIPT::CConstraintStackComp.

Definition at line 56 of file type_def.h.

00056 {}

const char* NLAISCRIPT::COperationTypeGD::getInfo  )  [inline, virtual]
 

Get a string info.

Implements NLAISCRIPT::IConstraint.

Definition at line 737 of file type_def.h.

References _OpD, _OpG, and NLAISCRIPT::IConstraint::getInfo().

00738                 {
00739                         if(_TxtInfo == NULL)
00740                         {
00741                                 char txt[1028*8];               
00742                                 sprintf(txt,"constraint<COperationTypeGD> for <%s> <%s>",_OpG->getInfo(),_OpD->getInfo());
00743                                 _TxtInfo = new char [strlen(txt) + 1];
00744                                 strcpy(_TxtInfo,txt);
00745                         }
00746                         return _TxtInfo;
00747                 }

virtual int NLAISCRIPT::IOpType::getLine  )  const [inline, virtual, inherited]
 

get the line of the expression that it have to be resolve by constraint in the code source.

Implements NLAISCRIPT::IConstraint.

Reimplemented in NLAISCRIPT::CConstraintStackComp.

Definition at line 57 of file type_def.h.

00057 { return 0;}

const sint32& NLAIC::IPointerGestion::getRef  )  const [inline, inherited]
 

get the refence count.

Definition at line 99 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00100                 {
00101                         return _Ref;
00102                 }

virtual ConstraintTypeEnum NLAISCRIPT::COperationTypeGD::getTypeOfClass  )  const [inline, virtual]
 

get the type of class. the type must be in the ConstraintTypeEnum enumeration.

Implements NLAISCRIPT::IConstraint.

Definition at line 808 of file type_def.h.

Referenced by operator==().

00809                 {
00810                         return operationTypeGD;
00811                 }

void NLAIC::IPointerGestion::incRef  )  [inline, inherited]
 

Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

Definition at line 80 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref.

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAILOGIC::CFactBase::addAssert(), NLAIAGENT::IAgentComposite::addChild(), NLAILOGIC::IBaseAssert::addInput(), NLAILOGIC::CBoolOperator::addPostcondition(), NLAILOGIC::CBoolOperator::addPrecondition(), NLAILOGIC::CInternalGoal::addPredecessor(), NLAILOGIC::CGoal::addPredecessor(), NLAIFUZZY::CFuzzyVar::addSet(), NLAISCRIPT::CCompilateur::affectation(), NLAILOGIC::CFact::asValueSet(), NLAIAGENT::CAgentWatchTimer::attach(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CAgentClass::buildVMethode(), NLAIAGENT::CAgentOperation::CAgentOperation(), NLAIAGENT::CAgentTimerHandle::CAgentTimerHandle(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CClassInterpretFactory::CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::CCompilateur(), NLAISCRIPT::CFactorType::CFactorType(), NLAISCRIPT::CFunctionTag::CFunctionTag(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIC::CIdentType::CIdentType(), NLAIAGENT::CIdMethod::CIdMethod(), NLAIAGENT::CKeyObject::CKeyObject(), NLAISCRIPT::CFindRunMsg::clone(), NLAISCRIPT::CObjectUnknown::clone(), NLAISCRIPT::CConstraintStackComp::clone(), NLAISCRIPT::CConstraintFindRun::clone(), NLAISCRIPT::CConstraintMethode::clone(), NLAILINK::IOTrace::clone(), NLAISCRIPT::CMethodeName::CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::CMethodType(), NLAISCRIPT::CObjectUnknown::CObjectUnknown(), NLAIAGENT::CPairType::CPairType(), NLAISCRIPT::CAgentClass::createComponents(), NLAILOGIC::CValueSet::CValueSet(), NLAILOGIC::CVar::CVar(), NLAILOGIC::CValueSet::forward(), NLAIAGENT::IMessageBase::IMessageBase(), NLAIAGENT::CAgentScript::initAgentScript(), NLAISCRIPT::CCompilateur::initMessageManager(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAILOGIC::CValueSet::load(), NLAILOGIC::IBaseOperator::load(), NLAISCRIPT::CAgentClass::load(), NLAISCRIPT::CComponent::load(), NLAISCRIPT::CMethodeName::load(), NLAIAGENT::CVectorGroupType::operator+(), NLAIAGENT::CGroupType::operator+(), NLAISCRIPT::CPramContainer::operator+=(), NLAIAGENT::IMessageBase::operator=(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CAgentClass::CMethodType::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAISCRIPT::CCompilateur::pushParamExpression(), NLAISCRIPT::CConstraintFindRun::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runAskGetValue(), NLAIAGENT::IAgent::runChildren(), NLAIAGENT::CMainAgentScript::runExec(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAIAGENT::CAgentWatchTimer::runMethodBase(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IMessageBase::runMethodeMember(), NLAIAGENT::IBaseGroupType::runMethodeMember(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAISCRIPT::CLdbRefOpCode::runOpCode(), NLAISCRIPT::CLdbMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CCallStackNewMethodi::runOpCode(), NLAISCRIPT::CLibStackNewMemberMethod::runOpCode(), NLAISCRIPT::CLibStackMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CAddParamNameDebug::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellComponent(), NLAIAGENT::CAgentScript::runTellSetValue(), NLAISCRIPT::CMethodContextDebug::saveContext(), NLAISCRIPT::CMethodContext::saveContext(), NLAIAGENT::CAgentScript::sendBroadCast(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentScript::sendMethodCompoment(), NLAIAGENT::CVolatilMemmory::sendUpdateMessage(), NLAISCRIPT::CFactorType::set(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setParamVarName(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAILOGIC::CVar::setValue(), NLAILOGIC::CValueSet::setValue(), NLAIAGENT::CAgentWatchTimer::tellBroker(), NLAISCRIPT::CCompilateur::typeOfMethod(), NLAILOGIC::CVar::unify(), NLAILOGIC::CValueSet::unify(), and NLAIAGENT::CAgentOperation::update().

00081                 {
00082                         _Ref ++;
00083                 }

const IOpType * NLAISCRIPT::IOpType::loadIOpType NLMISC::IStream f  )  [inline, static, inherited]
 

Loader for IOpType. Not that we save and load an know type.

Definition at line 982 of file type_def.h.

References NLMISC::IStream::serial(), sint32, and x.

00983         {
00984                 IConstraint::ConstraintTypeEnum k = constraintMethode;
00985                 IOpType *x;
00986 
00987                 f.serial((sint32 &)k);
00988         
00989                 switch(k)
00990                 {
00991                 case operandAnyObject:
00992                         x = new  COperandAnyObject();
00993                         return x;
00994 
00995                 case operandVoid:
00996                         x = new COperandVoid();
00997                         return x;
00998 
00999                 case operandSimple:
01000                         x = new COperandSimple(f);
01001                         return x;
01002 
01003                 case operandSimpleListOr:
01004                         x = new COperandSimpleListOr(f);
01005                         return x;
01006                 default: break;
01007                 }
01008                 return NULL;
01009         }

bool NLAISCRIPT::COperationTypeGD::operator== const IConstraint c  )  const [inline, virtual]
 

Implements NLAISCRIPT::IConstraint.

Definition at line 798 of file type_def.h.

References _OpD, _OpG, NLAISCRIPT::IConstraint::getTypeOfClass(), and getTypeOfClass().

00799                 {
00800                         if(getTypeOfClass() == c.getTypeOfClass() && *((const COperationTypeGD &)c)._OpG == *_OpG && *((const COperationTypeGD &)c)._OpD == *_OpD)
00801                         {
00802                                 return true;
00803                         }
00804                         return false;
00805                 }

void NLAISCRIPT::IConstraint::popConstraint IConstraint c  )  [inherited]
 

pop the last constaint dependency.

Definition at line 32 of file constraint.cpp.

References NLAISCRIPT::IConstraint::_ConstraintList.

Referenced by NLAISCRIPT::COperandUnknown::~COperandUnknown().

00033         {
00034                 std::list<IConstraint *>::iterator it = _ConstraintList.begin();
00035                 while(it != _ConstraintList.end())
00036                 {                       
00037                         if(*it == c)
00038                         {
00039                                 _ConstraintList.erase(it);
00040                                 break;
00041                         }
00042                         it ++ ;
00043                 }               
00044         }

virtual void NLAIC::IPointerGestion::release void   )  [inline, virtual, inherited]
 

Release allow to release the pointer. The last release when the _Ref is nul delete the object.

Definition at line 86 of file abstract_interface.h.

References NLAIC::IPointerGestion::decRef().

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAISCRIPT::CAgentClass::addBrancheCode(), NLAISCRIPT::CConstraintDebug::addIndex(), NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), NLAISCRIPT::COperatorClass::backward(), NLAILOGIC::CFirstOrderOperator::backward(), NLAILOGIC::CFirstOrderAssert::backward(), NLAISCRIPT::CCompilateur::buildObject(), NLAILINK::buildScript(), NLAISCRIPT::CCompilateur::callFunction(), NLAIC::CIdentType::CIdentType(), NLAISCRIPT::CCompilateur::clean(), NLAISCRIPT::CParam::clear(), NLAIAGENT::CVectorGroupType::clear(), NLAIAGENT::CGroupType::clear(), NLAIAGENT::CVolatilMemmory::CVolatilMemmory(), NLAISCRIPT::CFactorType::del(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIPYSERVER::endPythonInterface(), NLAIAGENT::CVectorGroupType::erase(), NLAIAGENT::CGroupType::erase(), NLAIAGENT::CVectorGroupType::eraseAll(), NLAIAGENT::CGroupType::eraseAll(), NLAISCRIPT::CCompilateur::errorMethodConstraint(), NLAISCRIPT::CCompilateur::errorTypeConstraint(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::COperatorClass::forward(), NLAILOGIC::CFirstOrderOperator::forward(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::COperatorScript::getDebugString(), NLAIAGENT::CAgentScript::getDebugString(), NLAILOGIC::IBaseOperator::IBaseOperator(), NLAISCRIPT::CCompilateur::ifInterrogation(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), NLAILOGIC::CFactPattern::init(), NLAILOGIC::CRule::init(), NLAIFUZZY::CTrapezeFuzzySet::init(), NLAIFUZZY::CLeftFuzzySet::init(), NLAIFUZZY::CTriangleFuzzySet::init(), NLAIFUZZY::CRightFuzzySet::init(), NLAIFUZZY::CFuzzyInterval::init(), NLAIFUZZY::CFuzzyRule::init(), NLAIFUZZY::CSimpleFuzzyCond::init(), NLAISCRIPT::CCompilateur::interrogationEnd(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAIAGENT::IAgent::Kill(), NLAILOGIC::CVar::load(), NLAILOGIC::CValueSet::load(), NLAISCRIPT::CLdbOpCode::load(), NLAISCRIPT::CLibCallMethodi::load(), NLAISCRIPT::CLibCallInheritedMethod::load(), NLAISCRIPT::CLibCallMethod::load(), NLAISCRIPT::CLdbNewOpCode::load(), NLAISCRIPT::CAddParamNameDebug::load(), NLAISCRIPT::CFindRunMsg::load(), NLAIAGENT::IListBasicManager::load(), NLAIAGENT::CVectorGroupType::load(), NLAIAGENT::CGroupType::load(), NLAIAGENT::CAgentScript::load(), NLAIAGENT::CStringType::load(), NLAIAGENT::CLocalAgentMail::load(), NLAISCRIPT::CMethodContextDebug::loadContext(), NLAISCRIPT::CCompilateur::onEndClass(), NLAIAGENT::CLocalMailBox::onKill(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::CLocalAgentMail::onKill(), NLAIAGENT::CVectorGroupType::operator-(), NLAIAGENT::CGroupType::operator-(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::PrivateError(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::IRefrence::refLoadStream(), NLAISCRIPT::CCompilateur::registerMethod(), NLAIAGENT::IAgentComposite::removeChild(), NLAILOGIC::CFirstOrderAssert::removeFact(), NLAISCRIPT::CConstraintStackComp::run(), NLAISCRIPT::CConstraintFindRun::run(), NLAISCRIPT::CConstraintMethode::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CVolatilMemmory::runMessage(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAISCRIPT::CCompilateur::runMethodConstraint(), NLAILOGIC::CInternalGoal::runMethodeMember(), NLAILOGIC::CGoal::runMethodeMember(), NLAILOGIC::CFact::runMethodeMember(), NLAIAGENT::IObjectIA::runMethodeMember(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CLibHeapMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CJFalseOpCode::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CDiffOpCode::runOpCode(), NLAISCRIPT::CInfEqOpCode::runOpCode(), NLAISCRIPT::CSupEqOpCode::runOpCode(), NLAISCRIPT::CEqOpCode::runOpCode(), NLAISCRIPT::CInfOpCode::runOpCode(), NLAISCRIPT::CSupOpCode::runOpCode(), NLAISCRIPT::CMulOpCode::runOpCode(), NLAISCRIPT::CDivOpCode::runOpCode(), NLAISCRIPT::CSubOpCode::runOpCode(), NLAISCRIPT::CAddOpCode::runOpCode(), NLAISCRIPT::CNegOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAISCRIPT::CCompilateur::runTypeConstraint(), NLAIAGENT::CHashTimerManager::sendMessage(), NLAIAGENT::CVolatilMemmory::sendMessage(), NLAIAGENT::CLocalMailBox::sendMessage(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentTimerHandle::sendMessage(), NLAIAGENT::CAgentScript::sendMessage(), NLAIAGENT::CAgentScript::sendMethod(), NLAISCRIPT::COperandSimple::serial(), NLAISCRIPT::CObjectUnknown::setBaseType(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CClassInterpretFactory::setClass(), NLAIC::CSelfClassFactory::setClass(), NLAISCRIPT::IClassInterpret::setClassName(), NLAISCRIPT::CObjectUnknown::setClassType(), NLAIAGENT::IMessageBase::setContinuation(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::COperatorClass::setGoal(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CParam::setInfo(), NLAISCRIPT::CAgentClass::setInheritanceName(), NLAISCRIPT::CCompilateur::setListVar(), NLAIAGENT::IMessageBase::setMessageGroup(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAILOGIC::IBaseVar::setName(), NLAIAGENT::CAgentOperation::setName(), NLAISCRIPT::CMethodeName::setName(), NLAIAGENT::IRefrence::setNumRef(), NLAISCRIPT::CConstraintFindRun::setOpCode(), NLAISCRIPT::CConstraintMethode::setOpCode(), NLAISCRIPT::CCompilateur::setPerformative(), NLAILOGIC::CInternalGoal::setProperty(), NLAIAGENT::IMessageBase::setReceiver(), NLAIAGENT::IMessageBase::setSender(), NLAILOGIC::CValueSet::setSize(), NLAISCRIPT::CCompilateur::setStackVar(), NLAIAGENT::CMessageScript::setStaticMember(), NLAIAGENT::CAgentScript::setStaticMember(), NLAISCRIPT::IClassInterpret::setType(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAISCRIPT::CMethodeName::setTypeOfMethode(), NLAILOGIC::CVar::setValue(), NLAIAGENT::CAgentOperation::setValue(), NLAIAGENT::IAgentInput::setValue(), NLAILOGIC::CValueSet::unify(), NLAISCRIPT::COperatorClass::unifyBackward(), NLAILOGIC::CFirstOrderOperator::unifyBackward(), NLAISCRIPT::COperatorClass::unifyForward(), NLAILOGIC::CFirstOrderOperator::unifyForward(), NLAILOGIC::CRule::unifyLiaisonBack(), NLAISCRIPT::CAddParamNameDebug::~CAddParamNameDebug(), NLAISCRIPT::CAgentClass::~CAgentClass(), NLAIAGENT::CAgentOperation::~CAgentOperation(), NLAIAGENT::CAgentScript::~CAgentScript(), NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(), NLAIAGENT::CAgentWatchTimer::~CAgentWatchTimer(), NLAISCRIPT::CClassInterpretFactory::~CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::~CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::~CCompilateur(), NLAIAGENT::CComponentHandle::~CComponentHandle(), NLAISCRIPT::CConstraintChkMethodeType::~CConstraintChkMethodeType(), NLAISCRIPT::CConstraintMethode::~CConstraintMethode(), NLAISCRIPT::CConstraintStackComp::~CConstraintStackComp(), NLAILOGIC::CFact::~CFact(), NLAISCRIPT::CFindRunMsg::~CFindRunMsg(), NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert(), NLAISCRIPT::CFunctionTag::~CFunctionTag(), NLAIC::CIdentType::~CIdentType(), NLAIAGENT::CIdMethod::~CIdMethod(), NLAILOGIC::CInternalGoal::~CInternalGoal(), NLAIAGENT::CKeyObject::~CKeyObject(), NLAISCRIPT::CLdbNewOpCode::~CLdbNewOpCode(), NLAISCRIPT::CLdbOpCode::~CLdbOpCode(), NLAISCRIPT::CLibCallInheritedMethod::~CLibCallInheritedMethod(), NLAISCRIPT::CLibCallMethod::~CLibCallMethod(), NLAISCRIPT::CLibCallMethodi::~CLibCallMethodi(), NLAIAGENT::CLocalMailBox::~CLocalMailBox(), NLAIAGENT::CMainAgentScript::~CMainAgentScript(), NLAISCRIPT::CLibTest::CMethodCall::~CMethodCall(), NLAIAGENT::CAgentScript::CMethodCall::~CMethodCall(), NLAISCRIPT::CMethodeName::~CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::~CMethodType(), NLAISCRIPT::CObjectUnknown::~CObjectUnknown(), NLAISCRIPT::COperandSimple::~COperandSimple(), NLAISCRIPT::COperandUnknown::~COperandUnknown(), NLAISCRIPT::COperationType::~COperationType(), ~COperationTypeGD(), NLAISCRIPT::COperatorClass::~COperatorClass(), NLAIAGENT::CPairType::~CPairType(), NLAIC::CSelfClassFactory::~CSelfClassFactory(), NLAIAGENT::CStringType::~CStringType(), NLAILOGIC::CValueSet::~CValueSet(), NLAILOGIC::CVar::~CVar(), NLAIAGENT::CVolatilMemmory::~CVolatilMemmory(), NLAIAGENT::IAgentInput::~IAgentInput(), NLAILOGIC::IBaseAssert::~IBaseAssert(), NLAILOGIC::IBaseOperator::~IBaseOperator(), NLAILOGIC::IBaseVar::~IBaseVar(), NLAIAGENT::IBasicAgent::~IBasicAgent(), NLAISCRIPT::IBlock::~IBlock(), NLAISCRIPT::IClassInterpret::~IClassInterpret(), NLAILOGIC::IGoal::~IGoal(), NLAIAGENT::IListBasicManager::~IListBasicManager(), NLAIAGENT::IMessageBase::~IMessageBase(), NLAIAGENT::IRefrence::~IRefrence(), and NLAICHARACTER::IZone::~IZone().

00087                 {
00088                         if(decRef() == 0) 
00089                                         delete this;
00090                 }

void NLAISCRIPT::COperationTypeGD::run IConstraint c  )  [inline, virtual]
 

Run with a IConstraint dependency.

Reimplemented from NLAISCRIPT::IOpType.

Definition at line 785 of file type_def.h.

00786                 {
00787                 }

virtual void NLAISCRIPT::COperationTypeGD::run CCompilateur c  )  [inline, virtual]
 

Run with a CCompilateur dependency.

Reimplemented from NLAISCRIPT::IOpType.

Definition at line 776 of file type_def.h.

References _OpD, _OpG, getConstraintTypeOf(), and NLAISCRIPT::IOpType::run().

00777                 {
00778                         _OpG->run(c);
00779                         _OpD->run(c);
00780                         
00781                         _Id = (NLAIC::CIdentType *)getConstraintTypeOf();
00782                 }

void NLAISCRIPT::IConstraint::runConnexcion  )  [inline, inherited]
 

When a constraint is resoved,we call all dependency.

Definition at line 214 of file constraint.h.

References NLAISCRIPT::IConstraint::_ConstraintList, and NLAISCRIPT::IConstraint::run().

Referenced by NLAISCRIPT::CConstraintChkMethodeType::run(), NLAISCRIPT::CConstraintFindRun::setOpCode(), and NLAISCRIPT::CConstraintMethode::setOpCode().

00215                 {
00216                         while(_ConstraintList.size())
00217                         {
00218                                 IConstraint *a = _ConstraintList.back();
00219                                 _ConstraintList.pop_back();
00220                                 a->run(this);
00221                         }               
00222                 }

bool NLAISCRIPT::COperationTypeGD::satisfied  )  [virtual]
 

If the constraint is resolved.

Implements NLAISCRIPT::IConstraint.

Definition at line 98 of file type_def.cpp.

References _OpD, _OpG, NLAISCRIPT::IConstraint::getConstraintTypeOf(), NLAIC::CIdentType::getFactory(), NLAISCRIPT::IClassInterpret::getInheritance(), NLAISCRIPT::IClassInterpret::getType(), NLAISCRIPT::IConstraint::satisfied(), sint32, NLAISCRIPT::IClassInterpret::sizeVTable(), and uint32.

Referenced by NLAISCRIPT::CCompilateur::affectationMember(), and getConstraintTypeOf().

00099         {                       
00100                 if(_OpG->satisfied() && _OpD->satisfied())
00101                 {                               
00102                         if(_Op == NLAIC::CTypeOfOperator::opAff)
00103                         {
00104                                 if(*_OpG->getConstraintTypeOf() == *_OpD->getConstraintTypeOf()) return true;
00105                                 else
00106                                 {
00107                                         if(((const NLAIC::CTypeOfObject &)*_OpD->getConstraintTypeOf()) & NLAIC::CTypeOfObject::tInterpret)
00108                                         {
00109                                                 const IClassInterpret *o = (const IClassInterpret *)((CClassInterpretFactory *)_OpD->getConstraintTypeOf()->getFactory())->getClass();
00110                                                 for(sint32 i = o->sizeVTable() - 1; i >= 1; i--)
00111                                                 {                                                       
00112                                                         if( o->getInheritance(i)->getType() == *(_OpG->getConstraintTypeOf())) return true;
00113                                                 }
00114                                         }
00115                                         else return false;
00116                                 }
00117                         }
00118                         else
00119                         {                               
00120                                 const NLAIC::CIdentType *id = _OpG->getConstraintTypeOf();
00121                                 if( (( uint32)(((const NLAIC::CTypeOfOperator &)*id) & _Op)) != (uint32)_Op) return false;
00122                                 id = _OpD->getConstraintTypeOf();
00123                                 if( ((uint32)(((const NLAIC::CTypeOfOperator &)*id) & _Op)) != (uint32)_Op) return false;
00124                         }
00125                         return true;
00126                 }
00127                 return false;
00128         }

virtual void NLAISCRIPT::COperationTypeGD::serial NLMISC::IStream f  )  throw (NLMISC::EStream) [inline, virtual]
 

Reimplemented from NLAIC::IPointerGestion.

Definition at line 727 of file type_def.h.

References NLAISCRIPT::COperandSimple::serial().

00728                 {
00729                         if(_Id != NULL)
00730                         {
00731                                 COperandSimple n(new NLAIC::CIdentType (*_Id));
00732                                 n.serial(f);
00733                         }
00734                         else throw NLMISC::EStream();
00735                 }

void NLAISCRIPT::COperationTypeGD::setOp NLAIC::CTypeOfOperator::TTypeOp  op  )  [inline]
 

Definition at line 754 of file type_def.h.

Referenced by NLAISCRIPT::CCompilateur::affectation(), and NLAISCRIPT::CCompilateur::affectationMember().

00755                 {
00756                         _Op = op;
00757                 }

void NLAISCRIPT::COperationTypeGD::setOperationD IOpType opD  )  [inline]
 

Definition at line 765 of file type_def.h.

References _OpD.

Referenced by NLAISCRIPT::CCompilateur::affectation(), and NLAISCRIPT::CCompilateur::affectationMember().

00766                 {
00767                         _OpD = opD;
00768                 }

void NLAISCRIPT::COperationTypeGD::setOperationG IOpType opG  )  [inline]
 

Definition at line 759 of file type_def.h.

References _OpG.

Referenced by NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), and NLAISCRIPT::CCompilateur::setTypeExpressionG().

00760                 {
00761                         _OpG = opG;                     
00762                         
00763                 }


Field Documentation

NLAIC::CIdentType* NLAISCRIPT::COperationTypeGD::_Id [private]
 

Definition at line 705 of file type_def.h.

NLAIC::CTypeOfOperator::TTypeOp NLAISCRIPT::COperationTypeGD::_Op [private]
 

Operation type.

Definition at line 703 of file type_def.h.

IOpType* NLAISCRIPT::COperationTypeGD::_OpD [private]
 

Definition at line 701 of file type_def.h.

Referenced by clone(), COperationTypeGD(), dependOn(), getInfo(), operator==(), run(), satisfied(), setOperationD(), and ~COperationTypeGD().

IOpType* NLAISCRIPT::COperationTypeGD::_OpG [private]
 

Right oprand.

Definition at line 699 of file type_def.h.

Referenced by clone(), COperationTypeGD(), dependOn(), getConstraintTypeOf(), getInfo(), operator==(), run(), satisfied(), setOperationG(), and ~COperationTypeGD().

char* NLAISCRIPT::COperationTypeGD::_TxtInfo [private]
 

Definition at line 704 of file type_def.h.


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 12:16:53 2004 for NeL by doxygen 1.3.6