![]() |
VR-Forces 4.2 Class Documentation
|
8 bytes total More...

Public Member Functions | |
| DtSimStatement () | |
| Default constructor. | |
| DtSimStatement (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) | |
| Usual constructor NOTE: "name" should be the statement type string. | |
| DtSimStatement (const DtSimStatement &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| Copy constructor. | |
| virtual | ~DtSimStatement () |
| Destructor. | |
| virtual bool | init () |
| Base class init does nothing, but this will be called by create, in case any other deriving class needs to do virtual allocation. | |
| DtSimStatement & | operator= (const DtSimStatement &orig) |
| Assignment operator (protected because this is an abstract base class). | |
| virtual DtSimStatement * | clone (DtReaderWriterRegistry *parentRegistry=NULL) const =0 |
| virtual copy constructor A typical clone function. | |
| virtual int | type () const =0 |
| Returns the type of statement Type (defined in simStmtTypes.h) | |
| virtual bool | validate () |
| Checks the statement for validity, and potentially fixes the statement to be valid. | |
| virtual void | execute (DtPlan &planContext)=0 |
| Execute the current statement and make any changes to the Plan state as appropriate. | |
| virtual void | step (DtPlan &planContext) |
| Asks the statement to step the context DtPlan to the next statement. | |
| virtual bool | translateIndex (DtStmtIndex &index) |
| Translate an old statement index pointer to point to a statement in the current Plan. | |
| virtual void | translateIndices (const DtList &indices) |
| Same as translateIndex, except it operates on a DtList of DtStmtIndex's, and doesn't return a value. | |
| DtSimStatement * | nextStmt () const |
| Return next (previous) statements in the block, or NULL if hit the end (beginning) of the list. | |
| DtSimStatement * | prevStmt () const |
| virtual DtStmtIdType | statementId () const |
| Statement Id accessors. | |
| virtual void | setStatementId (DtStmtIdType arg) |
| virtual DtSimBlock * | parentBlock () const |
| The parent statement Block. | |
| virtual void | setParentBlock (DtSimBlock *arg) |
| virtual int | subBlockCount () const |
| Get the number of blocks nested inside this statement. | |
| virtual DtSimBlock * | subBlock (int index) |
| Get a pointer to any particular block nested inside this statement. | |
| virtual DtRecursiveSimStatementIterator * | spawnRecursiveIterator () const |
| Spawns an iterator that iterates over the subblocks in this statement, and all their children, sub children, etc. | |
| virtual DtSimStatement * | lookupStatement (DtStmtIdType statementId) |
| If statementId matches our statement, returns a pointer to us. | |
| virtual DtString | stringRep (int subBlockIndex=DtSR_STMT) const =0 |
| Get a readable string representation of this statement. | |
| virtual char * | netRep () |
| virtual int | netRepSize () const |
| Returns sizeof(DtNetSimStatement). | |
| virtual bool | setFromNet (const char *contentBuffer, unsigned contentSize) |
| Extracts statement Id from buffer. | |
| virtual bool | setToNet () |
| Casts myNetRep to DtNetSimStatement* and fills in structure. | |
| virtual bool | isSameStatement (DtSimStatement *) |
| Returns true if statements are equivalent. Will not check statementId. | |
Public Member Functions inherited from DtRwListedObj | |
| DtRwListedObj () | |
| Default constructor. | |
| DtRwListedObj (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) | |
| Real constructor. | |
| DtRwListedObj (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtRwListedObj (const DtRwListedObj &orig) | |
| Copy constructor. | |
| virtual | ~DtRwListedObj () |
| Destructor. | |
| DtRwListedObj & | operator= (const DtRwListedObj &orig) |
| Assignment operator. | |
| DtRwListedObj * | next () const |
| Return next (previous) elements on the list, or NULL if hit the end (beginning) of the list. | |
| DtRwListedObj * | prev () const |
| DtRwListedObj * | wrapNext () const |
| Return next (previous) elements on the list, but wrap to the beginning (end) of the list when you hit the end (beginning). | |
| DtRwListedObj * | wrapPrev () const |
| virtual const char * | readerWriterType () const |
| Used to supply a string type that this reader writer type is. | |
Public Member Functions inherited from DtReaderWriter | |
| DtReaderWriter () | |
| default constructor | |
| DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| real constructor Setting the readonly flag prevents object from writing itself to the stream. | |
| DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| assignment operator | |
| bool | operator== (const DtReaderWriter &) const |
| Equivalence operator. | |
| bool | operator!= (const DtReaderWriter &rhs) |
| virtual | ~DtReaderWriter () |
| destructor | |
| virtual void | putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| Top level call to write itself to file. | |
| virtual void | getSelf (DtlObjPtr args, const DtFilename &searchPath=DtFilename::nullFilename(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| Top level to read itself from an input stream. | |
| virtual void | writeSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. | |
| virtual DtSymbolString | name () const |
| Accessor for name of this readable/writable object. | |
| virtual void | addAlias (const DtSymbolString &alias) |
| Add an alias as an alternative name for this object. | |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| virtual const aliasContainer & | aliases () const |
| virtual void | setReadonly (bool flag) |
| Set read-only flag. | |
| virtual bool | isReadonly () const |
| virtual bool | variableIsBound () const |
| virtual void | unbindVariable () |
| Sets the myVariableIsBound flag to false. | |
| virtual void | setName (const DtString &) |
| Set the name of the object. | |
| virtual DtString | prettyPrint () const |
| Routine to return a human readable form of the reader/writer variable. | |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| Runs a variable binding pass on this reader writer and any of its children. | |
| virtual std::list < DtVariableNameType > | unboundVariables () const |
| bool | invalid () const |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| Returns true if this variable has a child p in it's chain. | |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| The specified flags are used for optional values. | |
| virtual bool | valueSpecified () const |
| The specified flags are used for optional values. | |
| virtual bool | isVariableReference () const |
| Specifies whether or not this reader writer is really a variable that is specified elsewhere. | |
| virtual void | setIsVariableReference (bool value) |
| virtual void | clearAllVariableReferenceFlags () |
| Clears out all variable reference flags from all readerwriter items in registry recursively. | |
| virtual DtSymbolString | variableName () const |
| The variable name, if this object is a variable reference. | |
| virtual void | setVariableName (const DtSymbolString variableName) |
| The variable name, if this object is a variable reference. | |
| const DtReaderWriterRegistry & | registry () const |
| Collection of child DtReaderWriter nodes owned by this object. | |
| DtReaderWriterRegistry & | registry () |
| Collection of child DtReaderWriter nodes owned by this object. | |
Static Public Member Functions | |
| static DtStmtIdType | generateNewStmtId () |
| static DtSimStatement * | createStatement (DtlObjPtr mtlStream, DtReaderWriterRegistry *parentRegistry=NULL) |
| Static functions. | |
| static DtSimStatement * | createStatement (int statementType, DtReaderWriterRegistry *parentRegistry=NULL) |
| static void | addStatementCreatorFcn (const DtString &type, int intType, DtStatementCreatorFcn fcn) |
| Decodes a legacy stealth statement (VRF 3.9 and previous) and returns the proper statement for the current version. | |
| static void | setFactory (DtStatementFactory *factory) |
| static DtStatementFactory * | factory () |
| static bool | getStatementNameFromStatementType (int statementType, DtString &statementName) |
| static bool | getStatementTypeFromStatementName (const DtString &statementName, int &statementType) |
| static bool | addStatementTypeMapping (const DtString &statementName, int taskType) |
| static bool | removeStatementTypeMapping (const DtString &statementName, int statementType) |
Static Public Attributes | |
| static const int | DtSR_STMT = -1 |
| A constant for use as the subBlockIndex argument to stringRep(). | |
Protected Member Functions | |
| virtual char * | createNetworkBuffer () |
| virtual bool | compare (DtSimStatement *) |
| Called from isSameStatement. | |
Protected Attributes | |
| DtStmtIdType | myStatementId |
| A semi-unique Id value that helps trace the original identity of this statement if/when it gets copied. | |
| DtSimBlock * | myParentBlock |
| The containing DtSimBlock object (if any). | |
| char * | myNetRep |
Protected Attributes inherited from DtRwListedObj | |
| DtList * | myList |
| DtListItem * | myItem |
Protected Attributes inherited from DtReaderWriter | |
| const DtSymbolString | myName |
| DtReaderWriterRegistry | myRegistry |
| bool | myValueSpecified |
| bool | myReadOnlyFlag |
| bool | myIsVariableReference |
| DtSymbolString | myVariableName |
| bool | myVariableIsBound |
| aliasContainer | myAliases |
| Container for the aliases which represent alternative names for the object. | |
| bool | myInvalid |
| Set to true if there is a problem reading this item. | |
Static Protected Attributes | |
| static DtStatementFactory * | myFactory |
| Factory for this class. | |
| static DtStringIntMapper | theStatementNameMapper |
Friends | |
| class | DtStmtIndex |
Additional Inherited Members | |
Public Types inherited from DtReaderWriter | |
| typedef std::vector < DtSymbolString > | aliasContainer |
| typedef std::vector < DtSymbolString >::iterator | aliasIter |
| typedef std::vector < DtSymbolString > ::const_iterator | aliasConstIter |
| typedef std::pair < DtSymbolString, DtString > | DtVariableNameType |
| typedef DtReaderWriterFactory *(* | DtReaderWriterFactoryCreatorFcn )() |
8 bytes total
class DtSimStatement:
Instances of DtSimStatement represent any kind of statement used in a Plan.
| DtSimStatement::DtSimStatement | ( | ) |
Default constructor.
| DtSimStatement::DtSimStatement | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
Usual constructor NOTE: "name" should be the statement type string.
| DtSimStatement::DtSimStatement | ( | const DtSimStatement & | orig, |
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Base class init does nothing, but this will be called by create, in case any other deriving class needs to do virtual allocation.
| DtSimStatement& DtSimStatement::operator= | ( | const DtSimStatement & | orig | ) |
Assignment operator (protected because this is an abstract base class).
|
pure virtual |
virtual copy constructor A typical clone function.
It must be overridden by derived classes to return an exact copy of the object.
Implemented in DtWhenStmt, DtWhileStmt, DtIfStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
pure virtual |
Returns the type of statement Type (defined in simStmtTypes.h)
Implemented in DtWhenStmt, DtWhileStmt, DtIfStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
virtual |
Checks the statement for validity, and potentially fixes the statement to be valid.
Reimplemented in DtWhileStmt.
|
pure virtual |
Execute the current statement and make any changes to the Plan state as appropriate.
Tells the statement to activate its own behavior. Each kind of statement implements this function differently. It is passed a reference to the executing DtPlan object as a “context of execution”.
Implemented in DtWhenStmt, DtWhileStmt, DtIfStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
virtual |
Asks the statement to step the context DtPlan to the next statement.
The default implementation steps to the next statement in the same parent DtSimBlock. If this is the last statement in the Block, step() calls the block’s exitFromBlock() member function.
Reimplemented in DtIfStmt.
|
virtual |
Translate an old statement index pointer to point to a statement in the current Plan.
This does a look-up of the statement tree to find the statement that has the same statement ID as the one the statement index used to point to. Use this after a clone to convert any old statement pointers that you want to have pointing to the clone. If any subBlocks are defined, this will search in them too. Returns true if a match was found, false otherwise.
|
virtual |
Same as translateIndex, except it operates on a DtList of DtStmtIndex's, and doesn't return a value.
|
inline |
Return next (previous) statements in the block, or NULL if hit the end (beginning) of the list.
Inline functions.
Statement objects are derived from DtRwListedObj and these functions are wrappers for the base class next() and prev() member functions, which cast their return values to DtSimStatement pointers.
References DtRwListedObj::next().
|
inline |
References DtRwListedObj::prev().
|
virtual |
Statement Id accessors.
|
virtual |
|
virtual |
The parent statement Block.
Returns a pointer to the surrounding DtSimBlock.
|
virtual |
|
virtual |
Get the number of blocks nested inside this statement.
Reimplemented in DtWhenStmt, DtWhileStmt, and DtIfStmt.
|
virtual |
Get a pointer to any particular block nested inside this statement.
Sub-blocks are indexed as C arrays are (i.e. starting with block #0).
Reimplemented in DtWhenStmt, DtWhileStmt, and DtIfStmt.
|
virtual |
Spawns an iterator that iterates over the subblocks in this statement, and all their children, sub children, etc.
. The caller MUST DELETE the iterator when doen using it!
|
virtual |
If statementId matches our statement, returns a pointer to us.
Otherwise calls lookupStatement() for each of our subblocks, if any.
Get a readable string representation of this statement.
The subBlockIndex argument indicates which stringRep to get if this statement can have sub-blocks. If a sub-block index >= 0 is given, the string returned will be the one that should precede that sub-block. A sub-block index of DtSimStatement::DtSR_STMT requests the string that should follow any and all sub-blocks, this is the value that should be used for statements that have no subBlocks (i.e. subBlockCount() == 0).
Implemented in DtWhenStmt, DtWhileStmt, DtIfStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
virtual |
|
virtual |
Returns sizeof(DtNetSimStatement).
Derived classes should add this size to the size of their net representation (dervied class net reps should always put the DtNetSimStatement at the start of their buffer, and put their class specific data immediately following that).
Reimplemented in DtWhenStmt, DtIfStmt, DtWhileStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
virtual |
Extracts statement Id from buffer.
First 16 bytes are a DtNetSimStatement structure. Derived class data should immediately follow this. Derived classes should call down to this one to make sure statement id gets set.
Reimplemented in DtWhenStmt, DtIfStmt, DtWhileStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
virtual |
Casts myNetRep to DtNetSimStatement* and fills in structure.
Derived classes should always call down to this base class version to set the DtNetSimStatement structure at the beginning of the buffer. Any dervied data should immediately follow the DtNetSimStatement structure.
Reimplemented in DtWhenStmt, DtIfStmt, DtWhileStmt, DtTaskStmt, DtSetDataRequestStmt, and DtSimCommandStmt.
|
static |
|
static |
Static functions.
Construct an empty conditional expression of the appropriate type. Creates a new statement, given a pointer to an MTL stream. It parses the stream to extract the type of statement to create. Then it calls the statement factory’s create() member function with the statement type. This returns a new instance of the statement type. The statement’s getData() member function is then called to retrieve the statement from the stream. The pointer to the new statement is returned.
|
static |
|
static |
Decodes a legacy stealth statement (VRF 3.9 and previous) and returns the proper statement for the current version.
static DtSimStatement* createLegacyStealthStatement(DtlObjPtr mtlStream, DtReaderWriterRegistry* parentRegistry = NULL); Adds a statement creator member function to the statement factory.
|
static |
|
static |
Reimplemented from DtReaderWriter.
|
static |
|
static |
|
static |
|
static |
|
virtual |
Returns true if statements are equivalent. Will not check statementId.
|
protectedvirtual |
|
protectedvirtual |
Called from isSameStatement.
Compares net reps to see if they are the same. Override to do different comparrison
Reimplemented in DtWhenStmt, DtIfStmt, and DtWhileStmt.
|
friend |
|
static |
A constant for use as the subBlockIndex argument to stringRep().
|
protected |
A semi-unique Id value that helps trace the original identity of this statement if/when it gets copied.
|
protected |
The containing DtSimBlock object (if any).
|
staticprotected |
Factory for this class.
|
protected |
|
staticprotected |