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 override |
| |
| virtual const char * | xmlType () const override |
| |
| virtual char * | encode (char *) const override |
| |
| virtual const char * | decode (const char *) override |
| |
| virtual void | getSize (int &size) const override |
| |
| virtual int | hlaAlignment () const override |
| |
| virtual bool | isValidProperty (const DtPropertyInterface *) const override |
| |
| virtual int | count () const override |
| |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) override |
| |
| virtual void | writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) override |
| |
| virtual void | writeData (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) override |
| |
| 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 override |
| |
| 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 () override |
| |
|
| 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 () override |
| |
| virtual unsigned | size () const |
| |
| virtual bool | addProperty (DtPropertyInterface *) override |
| |
| virtual bool | addPropertyAtIndex (DtPropertyInterface *, unsigned index) |
| |
| virtual void | copy (const DtPropertyInterface &rhs) override |
| |
| virtual DtPropertyInterface * | createProperty (DtlObjPtr args, DtReaderWriterRegistry *parentRegistry) |
| |
| virtual void | copyVariables (const DtRwVariableBindings &other) override |
| |
| virtual bool | isReadonly () const |
| |
| virtual int | requiredPadding (const char *buf, const DtPropertyInterface *field) const |
| |
| virtual const char * | propertyType () const override |
| |
| virtual DtString | stringRep (const DtString &root="") const override |
| |
| virtual bool | merge (const DtPropertyInterface &target, MergeFlags, const DtMergePath &path=DtMergePath(), const std::set< DtString > &ignore=std::set< DtString >()) override |
| |
| 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 override |
| |
| virtual void | setPropertyName (const DtString &propertyName) override |
| |
| virtual bool | isUpdateNeeded (DtTime t) const override |
| |
| virtual bool | hasReceivedUpdateSince (DtTime t) const override |
| |
| virtual DtTime | updateClockTime () const override |
| |
| virtual void | clearVariables () override |
| |
| virtual void | reset () override |
| |
| virtual void | invalidateCache () |
| |
| virtual void | invalidateCacheForProperty (const DtString &propName) |
| |
| virtual bool | setWritePrototypeHeader (bool) |
| |
| virtual bool | writePrototypeHeader () const |
| |
| virtual void | setKeepPublishingSettings (bool keep) override |
| |
| virtual bool | keepPublishingSettings () const override |
| |
| | 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 override |
| |
| virtual DtPropertyInterface * | findPropertyInterface (const DtString &propertyName) override |
| |
| virtual bool | removeProperty (const DtString &propertyName) override |
| |
| virtual bool | removeProperty (const DtPropertyInterface *property) override |
| |
| virtual const DtReaderWriter * | findPropertyRw (const DtString &propName) const |
| |
| virtual DtReaderWriter * | findPropertyRw (const DtString &propName) |
| |
| virtual DtReaderWriter * | readerWriter () override |
| |
| virtual const DtReaderWriter * | readerWriter () const override |
| |
| virtual DtPropertyInterface * | property () override |
| |
| virtual const DtPropertyInterface * | property () const override |
| |
| virtual bool | isPublished () const override |
| |
| virtual void | setIsPublished (bool isPub) override |
| |
| virtual unsigned | disRecordType () const override |
| |
| virtual void | setDisRecordType (unsigned recType) override |
| |
| virtual void | removeVariable (DtReaderWriter *) override |
| |
| virtual void | removeVariable (const DtReaderWriter *) override |
| |
| | 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 () override |
| |
| 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 override |
| |
| 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) override |
| |
| 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 *) override |
| |
| virtual DtlObjPtr | getData (DtlObjPtr variableList, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override |
| |
| virtual void | getData (const DtEnvironmentSP env, const DtEnvValueSP root, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) override |
| |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const override |
| |
| 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) override |
| |
| 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) override |
| |
| 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) override |
| |
| 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 | writePublishInformation (std::string &fp, int indentLevel) override |
| |
| 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 override |
| |
| virtual void | setDebugEnabled (bool en) override |
| |
| 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 |
| |