Acts as a DtRwList for properties. Only real difference between this class and a DtRwProperties class is that items can have the same name and the encode/decode/getSelf add an integer at the beginning with is the number of elements in the list (int). The list must also be passed a homogeneous reader/writer type that will be used as the template for storing the items. During getSelf this template will be used as a means to read the default values, so, the mtl definition would look like:
or
(DtRwStruct CombatRange
)
(100.0 20) (200.0 40) (300.0 60)
)
As a subclass of DtRwProperties, DtRwPropertiesList supports an STL-like iterator for iterating over its items. It also has convenience functions for adding new items and erasing existing items by iterator. Because this list is designed to be accessed and set frequently by Lua, and the Lua API does not guarantee a particular ordering of items, a consistent order is also not guaranteed in C++.
|
| virtual const char * | readerWriterType () const |
| |
| virtual const char * | xmlType () const |
| |
| virtual char * | encode (char *) const |
| |
| virtual const char * | decode (const char *) |
| |
| virtual void | getSize (int &size) const |
| |
| virtual int | hlaAlignment () const |
| |
| virtual bool | isValidProperty (const DtPropertyInterface *) const |
| |
| virtual int | count () const |
| |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| virtual void | writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| |
| virtual void | writeData (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| |
| virtual void | setPrototype (const DtPropertyInterface *) |
| |
| virtual const DtPropertyInterface * | prototype () const |
| |
| virtual DtPropertyInterface * | clonePrototype (DtReaderWriterRegistry *parent=0) |
| |
| DtRwPropertiesList & | operator= (const DtRwPropertiesList &) |
| |
| virtual bool | isSimilarProperty (const DtPropertyInterface *rhs, bool strict=true) const |
| |
| bool | operator== (const DtRwPropertiesList &) const |
| |
| virtual bool | matchPrototype (const DtReaderWriter *) const |
| |
|
| | DtRwPropertiesList (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwPropertiesList (const DtString &name, const DtPropertyInterface *prototype, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwPropertiesList (const DtString &name, const DtRwPropertiesList &orig, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtRwPropertiesList () |
| |
|
| virtual bool | addItem (DtPropertyInterface *item) |
| |
| virtual DtPropertyInterface * | addItem () |
| |
|
| virtual void | erase (DtPropertyInterface *item) |
| |
| virtual void | erase (iterator pos) |
| |
| DtRwProperties & | operator= (const DtRwProperties &orig) |
| |
| virtual | ~DtRwProperties () |
| |
| virtual unsigned | size () const |
| |
| virtual bool | addProperty (DtPropertyInterface *) |
| |
| virtual bool | addPropertyAtIndex (DtPropertyInterface *, unsigned index) |
| |
| virtual void | copy (const DtPropertyInterface &rhs) |
| |
| virtual DtPropertyInterface * | createProperty (DtlObjPtr args, DtReaderWriterRegistry *parentRegistry) |
| |
| virtual void | copyVariables (const DtRwVariableBindings &other) |
| |
| virtual bool | isReadonly () const |
| |
| virtual int | requiredPadding (const char *buf, const DtPropertyInterface *field) const |
| |
| virtual const char * | propertyType () const |
| |
| virtual DtString | stringRep (const DtString &root="") const |
| |
| virtual bool | merge (const DtPropertyInterface &target, MergeFlags, const DtMergePath &path=DtMergePath(), const std::set< DtString > &ignore=std::set< DtString >()) |
| |
| virtual DtRwProperties | createFromPercentages (const DtRwProperties &percentages, const DtRwProperties &baseValues, const DtString &base="Base-") |
| |
| virtual bool | findRootAndVariable (const DtString &varName, DtReaderWriter *&root, DtReaderWriter *&variable) const |
| |
| virtual DtSymbolString | propertyName () const |
| |
| virtual void | setPropertyName (const DtString &propertyName) |
| |
| virtual bool | isUpdateNeeded (DtTime t) const |
| |
| virtual bool | hasReceivedUpdateSince (DtTime t) const |
| |
| virtual DtTime | updateClockTime () const |
| |
| virtual void | clearVariables () |
| |
| virtual void | reset () |
| |
| virtual void | invalidateCache () |
| |
| virtual void | invalidateCacheForProperty (const DtString &propName) |
| |
| virtual bool | setWritePrototypeHeader (bool) |
| |
| virtual bool | writePrototypeHeader () const |
| |
| virtual void | setKeepPublishingSettings (bool keep) |
| |
| virtual bool | keepPublishingSettings () const |
| |
| | DtRwProperties (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwProperties (const DtString &name, const DtRwProperties &orig, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwProperties (const DtRwProperties &orig, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual const_iterator | begin () const |
| |
| virtual iterator | begin () |
| |
| virtual const_iterator | end () const |
| |
| virtual iterator | end () |
| |
| virtual const DtPropertyInterface * | findPropertyInterface (const DtString &propertyName) const |
| |
| virtual DtPropertyInterface * | findPropertyInterface (const DtString &propertyName) |
| |
| virtual bool | removeProperty (const DtString &propertyName) |
| |
| virtual bool | removeProperty (const DtPropertyInterface *property) |
| |
| virtual const DtReaderWriter * | findPropertyRw (const DtString &propName) const |
| |
| virtual DtReaderWriter * | findPropertyRw (const DtString &propName) |
| |
| virtual DtReaderWriter * | readerWriter () |
| |
| virtual const DtReaderWriter * | readerWriter () const |
| |
| virtual DtPropertyInterface * | property () |
| |
| virtual const DtPropertyInterface * | property () const |
| |
| virtual bool | isPublished () const |
| |
| virtual void | setIsPublished (bool isPub) |
| |
| virtual unsigned | disRecordType () const |
| |
| virtual void | setDisRecordType (unsigned recType) |
| |
| virtual void | removeVariable (DtReaderWriter *) |
| |
| virtual void | removeVariable (const DtReaderWriter *) |
| |
| | DtRwVariableBindings (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwVariableBindings (const DtString &name, const DtRwVariableBindings &orig, DtReaderWriterRegistry *parentRegistry=0, bool copyVariables=true) |
| |
| | DtRwVariableBindings (const DtRwVariableBindings &orig, DtReaderWriterRegistry *parentRegistry=0, bool copyVariables=true) |
| |
| DtRwVariableBindings & | operator= (const DtRwVariableBindings &orig) |
| |
| virtual | ~DtRwVariableBindings () |
| |
| template<typename RW_Type > |
| const RW_Type * | findAndCastVariableBinding (const DtString &variableName) const |
| |
| virtual DtReaderWriter * | addVariableBinding (const DtSymbolString &name, const char *type) |
| |
| virtual void | addVariable (DtReaderWriter *) |
| |
| virtual int | getSize () const |
| |
| bool | operator== (const DtRwVariableBindings &) const |
| |
| bool | operator!= (const DtRwVariableBindings &) const |
| |
| virtual DtString | prettyPrint () const |
| |
| virtual void | setVariableSubstitutions (const std::map< DtString, DtString > &) |
| |
virtual const std::map
< DtString, DtString > & | variableSubstitutions () const |
| |
| virtual void | merge (const DtRwVariableBindings &) |
| |
| virtual const DtReaderWriter * | findVariableBinding (const DtString &rwTypeString, const DtString &variableName, const std::map< DtString, DtString > &variableSubstitutions=std::map< DtString, DtString >()) const |
| |
| virtual DtReaderWriter * | findVariableBinding (const DtString &rwTypeString, const DtString &variableName, const std::map< DtString, DtString > &variableSubstitutions=std::map< DtString, DtString >()) |
| |
| virtual const DtReaderWriter * | findVariableBinding (const DtString &variableName, const std::map< DtString, DtString > &variableSubstitutions=std::map< DtString, DtString >()) const |
| |
| virtual DtReaderWriter * | findVariableBinding (const DtString &variableName, const std::map< DtString, DtString > &variableSubstitutions=std::map< DtString, DtString >()) |
| |
| | DtReaderWriter () |
| |
| | DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) |
| |
| | DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) |
| |
| | DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| | DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| | DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) |
| |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| |
| bool | operator== (const DtReaderWriter &) const |
| |
| bool | operator!= (const DtReaderWriter &rhs) const |
| |
| virtual | ~DtReaderWriter () |
| |
| virtual void | putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| |
| virtual void | postPutSelf () |
| |
| virtual void | prePutSelf () |
| |
| virtual void | postGetSelf () |
| |
| virtual void | preGetSelf () |
| |
| virtual DtSymbolString | name () const |
| |
| virtual void | addAlias (const DtSymbolString &alias) |
| |
| virtual void | addAlias (const DtString &alias) |
| |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| |
| virtual const aliasContainer & | aliases () const |
| |
| virtual void | setReadonly (bool flag) |
| |
| bool | isReadonly () const |
| |
| virtual int | alignment () const |
| |
| virtual bool | variableIsBound () const |
| |
| virtual void | unbindVariable () |
| |
| virtual void | setName (const DtString &) |
| |
| std::string | debugText () const |
| |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| |
virtual std::list
< DtVariableNameType > | unboundVariables () const |
| |
| bool | invalid () const |
| |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| |
| virtual bool | hasVariableReference () const |
| |
| virtual void | bindLocalVariables (const DtVariableBindingsList &variableBindings) |
| |
| virtual void | recordUpdateTime () const |
| |
| virtual bool | changedSinceLastChecked () |
| |
| virtual bool | peekChangedSinceLastChecked () const |
| |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| |
| virtual bool | valueSpecified () const |
| |
| virtual bool | isVariableReference () const |
| |
| virtual void | setIsVariableReference (bool value) |
| |
| virtual void | clearAllVariableReferenceFlags () |
| |
| virtual DtSymbolString | variableName () const |
| |
| virtual void | setVariableName (const DtSymbolString variableName) |
| |
| virtual const DtReaderWriter * | defaultRWValue () const |
| |
| virtual DtReaderWriter * | defaultRWValue () |
| |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| const DtReaderWriterRegistry & | registry () const |
| |
| DtReaderWriterRegistry & | registry () |
| |
| virtual DtString | toXml () const |
| |
| virtual DtRwVariableBindings * | generateVariableBindings () const |
| |
| virtual bool | toXml (const DtFilename &) const |
| |
| virtual bool | fromXml (const DtString &) |
| |
| virtual bool | fromXmlFile (const DtFilename &) |
| |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| |
| virtual void | getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| |
| virtual | ~DtPropertyInterface () |
| |
| virtual bool | isPublishedArg (DtlObjPtr arg, unsigned &disVarRecType) |
| |
| virtual void | copyPublishingSettings (const DtPropertyInterface &prop) |
| |
| virtual void | processPublicationArgs (DtlObjPtr arg) |
| |
| virtual void | processPublicationArg (DtlObjPtr arg) |
| |
| template<typename ValueType > |
| boost::optional< ValueType > | propertyValue () const |
| |
| template<typename ValueType > |
| bool | setPropertyValue (ValueType val) |
| |
| template<typename SpecificPropType > |
| const SpecificPropType * | findProperty (const DtString &propertyName) const |
| |
| template<typename SpecificPropType > |
| SpecificPropType * | findProperty (const DtString &propertyName) |
| |
| template<typename ValueType > |
| boost::optional< ValueType > | findPropertyValue (const DtString &propertyName) const |
| |
| template<typename ValueType > |
| bool | findAndSetPropertyValue (const DtString &propertyName, ValueType val) |
| |
| template<typename SpecificPropType > |
| SpecificPropType * | addNewProperty (const DtString &propertyName) |
| |
| int | getSize () const |
| |
|
| virtual void | writePrototype (const DtReaderWriter *, std::string &fp, int indentLevel, bool writeHeader=true) const |
| |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| |
| virtual void | createListEntry (DtPropertyInterface *iFace, DtlObjPtr variableItem, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| |
| virtual DtPropertyInterface * | createPrototype (DtlObjPtr) |
| |
| virtual DtlObjPtr | variablesStart (DtlObjPtr args) const |
| |
| virtual const char * | decode (DtPropertyInterface *, const char *) |
| |
| virtual DtlObjPtr | getData (DtlObjPtr variableList, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| |
| virtual void | getData (const DtEnvironmentSP env, const DtEnvValueSP root, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| |
| virtual void | assignPrototypeToChildren () |
| |
| virtual void | setPrototypeIntoTarget (const DtPropertyInterface *prototype, DtReaderWriter *target) |
| |
| virtual void | postWriteItem (std::string &fp, DtReaderWriter *rw, int indentLevel) |
| |
| virtual void | preWriteItem (std::string &fp, DtReaderWriter *rw, int indentLevel) |
| |
| virtual bool | matchPrototype (const DtReaderWriter *prototype, const DtReaderWriter *match) const |
| |
| virtual void | cloneAndAddProperty (const DtReaderWriter &rw) |
| |
| virtual void | filterIgnoredProperties (DtReaderWriter *rw, const std::set< DtString > &ignore) |
| |
| virtual void | getInterface (DtPropertyInterface *pFace, DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| virtual void | putData (std::string &, int indentLevel=0) |
| |
| virtual int | hlaAlignment (const DtPropertyInterface *field) const |
| |
| virtual void | getSize (const DtPropertyInterface *, int &size) const |
| |
| virtual char * | encode (const DtPropertyInterface *, char *buf) const |
| |
| virtual void | unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| |
| virtual bool | traverseAndModifyPercentage (DtRwProperties &results, const DtRwProperties &baseValues, const DtReaderWriter *percentage, const DtString &base) const |
| |
| virtual void | writePrototypeHeader (std::string &fp, const DtReaderWriter *rw, int indentLevel) const |
| |
| virtual void | writePropertyData (DtReaderWriter *rw, std::string &fp, int indentLevel, bool writeUnspecified, const DtFilename &path) |
| |
| virtual void | getSortedProperties (const DtRwVariableBindings &varBindings, std::vector< const DtReaderWriter * > &propertyList) const |
| |
| virtual void | getSortedProperties (DtRwVariableBindings &varBindings, std::vector< DtReaderWriter * > &propertyList) |
| |
| virtual bool | isDebugEnabled () const |
| |
| virtual void | setDebugEnabled (bool en) |
| |
| virtual const DtReaderWriter * | internalFindVariableBinding (const DtString &rwTypeString, const DtString &variableName, const std::map< DtString, DtString > &variableSubstitutions=std::map< DtString, DtString >()) const |
| |
| virtual bool | keywordMatches (const DtSymbolString &lhs, const DtString &rhs, const std::map< DtString, DtString > &variableSubstitutions) const |
| |