A structure composed of distinct fields, each of which is itself a property. The DtRwPropertiesStructure is composed of multiple component properties that function as fields to a structure, similar to a structure in C++. Each field is itself a property. This class provides functions to easily find and access the fields within the property.
|
| | DtRwPropertiesStructure () |
| |
| | DtRwPropertiesStructure (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwPropertiesStructure (const DtString &name, const DtRwPropertiesStructure &orig, DtReaderWriterRegistry *parentRegistry=0) |
| |
| | DtRwPropertiesStructure (const DtRwPropertiesStructure &orig, DtReaderWriterRegistry *parentRegistry=0) |
| |
| DtRwPropertiesStructure & | operator= (const DtRwPropertiesStructure &orig) |
| |
| virtual | ~DtRwPropertiesStructure () |
| |
| virtual void | putSelf (std::string &fp, int indentLevel, bool writeUnspecified, const DtFilename &path) |
| |
| virtual const char * | readerWriterType () const |
| |
| virtual const char * | xmlType () const |
| |
| virtual void | copyVariables (const DtRwVariableBindings &other) |
| |
| virtual bool | isSimilarProperty (const DtPropertyInterface *rhs, bool strict=true) const |
| |
|
These functions return the DtPropertyInterface for the named field, assuming it is found within this structure. If this field cannot be found, a null pointer is returned. Because fields are themselves just properties, this is just a wrapper for DtRwProperties::findPropertyInterface.
|
| const DtPropertyInterface * | findFieldPropertyInterface (const DtString &fieldName) const |
| |
| DtPropertyInterface * | findFieldPropertyInterface (const DtString &fieldName) |
| |
|
These functions return the specific property type for the named field, assuming it is found within this property and matches this type. If this field cannot be found or is of the wrong type, a null pointer is returned. Because fields are themselves just properties, this is just a wrapper for DtRwProperties::findProperty.
|
| template<typename SpecificPropType > |
| const SpecificPropType * | findField (const DtString &fieldName) const |
| |
| template<typename SpecificPropType > |
| SpecificPropType * | findField (const DtString &fieldName) |
| |
|
| template<typename ValueType > |
| boost::optional< ValueType > | findFieldValue (const DtString &fieldName) const |
| |
| template<typename ValueType > |
| bool | findAndSetFieldValue (const DtString &fieldName, ValueType val) |
| |
|
These functions can be used to add new properties as fields to a structure.
|
| virtual bool | addField (DtPropertyInterface *field) |
| |
| template<typename SpecificPropType > |
| SpecificPropType * | addNewField (const DtString &fieldName) |
| |
|
These functions can be used to remove fields from a structure. Returns true if successful. Because fields are themselves just properties, this is just a wrapper for DtRwPropertiesStructure::removeProperty.
|
| virtual bool | removeField (const DtString &propertyName) |
| |
| virtual bool | removeField (const DtPropertyInterface *property) |
| |
|
These operator[] overloads allow you to access a fields by their name. If the field does not exist, an uninitialized property will be returned that is not part of the structure, so care must be taken. Should only be used for known fields, not to add new ones. boost::optional<DtString> vehicleType = vehicleProperty["Vehicle Type"].propertyValue<DtString>(); vehicleProperty["Fuel Amount"].setPropertyValue<double>(12.5);
|
| DtPropertyInterface & | operator[] (const DtString &fieldName) |
| |
| const DtPropertyInterface & | operator[] (const DtString &fieldName) const |
| |
| 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 void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| virtual DtlObjPtr | getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| virtual bool | isValidProperty (const DtPropertyInterface *) const |
| |
| virtual DtPropertyInterface * | createProperty (DtlObjPtr args, DtReaderWriterRegistry *parentRegistry) |
| |
| virtual char * | encode (char *) const |
| |
| virtual const char * | decode (const char *) |
| |
| virtual void | getSize (int &size) const |
| |
| virtual bool | isReadonly () const |
| |
| virtual int | hlaAlignment () const |
| |
| virtual int | requiredPadding (const char *buf, const DtPropertyInterface *field) const |
| |
| virtual const char * | propertyType () const |
| |
| virtual int | count () 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 | cloneAndAddProperty (const DtReaderWriter &rw) |
| |
| 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 | 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 | getData (const DtEnvironmentSP env, const DtEnvValueSP root, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| |
| 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 | writeSelf (std::string &fp, int indentLevel, bool writeUnspecified, const DtFilename &path) |
| |
| virtual void | writeData (std::string &fp, int indentLevel, bool writeUnspecified, const DtFilename &path) |
| |
| 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 const char * | decode (DtPropertyInterface *iFace, const char *buf) |
| |
| 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 |
| |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| |