VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes
DtRwTemplatedListPtr< T, T_autoDelete > Class Template Reference

Inherits DtRwList, and DtRwTemplatedListInterface.

Inherited by DtRwChannelSettings.

Public Types

typedef DtIteratorBase< T > iterator
 
typedef DtIteratorBase< const T > const_iterator
 
- 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::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 

Public Member Functions

 DtRwTemplatedListPtr ()
 
 DtRwTemplatedListPtr (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwTemplatedListPtr (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwTemplatedListPtr (const DtString &name, const DtRwTemplatedListPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwTemplatedListPtr (const DtSymbolString &name, const DtRwTemplatedListPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwTemplatedListPtr (const DtRwTemplatedListPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual DtRwTemplatedListPtroperator= (const DtRwTemplatedListPtr &orig)
 
virtual ~DtRwTemplatedListPtr () override
 
virtual DtReaderWritercreatePrototype (const char *name="") const override
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
 
virtual DtListItem * insertItemAt (T *data, int index)
 
virtual DtListItem * add (DtReaderWriter *item) override
 
virtual DtListItem * add (T *data)
 
virtual void removeAll () override
 
void * remove (DtListItem *item)
 
void * remove (T *item)
 
virtual std::set< DtStringsupportedXmlTypes () const override
 
virtual void removeAndDeleteAll () override
 
virtual bool operator== (const DtRwTemplatedListPtr &) const
 
bool operator!= (const DtRwTemplatedListPtr &) const
 
virtual const charxmlType () const override
 
virtual void populateList (boost::function< void(DtReaderWriter *)> addFunction, DtEnvironmentSP env, DtEnvValueSP node, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &bindings) override
 
DtListItem * find (boost::function< bool(const T &)> predFcn) const
 
virtual DtString prettyPrint () const override
 
virtual const charreaderWriterType () const override
 
void copyList (const DtRwTemplatedListPtr &orig)
 
- Public Member Functions inherited from DtRwList
 DtRwList ()
 
 DtRwList (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwList (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual ~DtRwList () override
 
const DtRwListoperator= (const DtRwList &orig)
 
virtual DtListItem * addWithAlternateName (DtReaderWriter *data, const DtString &name)
 
virtual DtListItem * addToStart (DtReaderWriter *data)
 
virtual DtListItem * addToEnd (DtReaderWriter *data)
 
virtual void * remove (DtReaderWriter *data, DtListItem *item)
 
virtual DtlObjPtr getLocalData (DtlObjPtr args)
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) override
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) override
 
virtual DtListItem * addBefore (DtReaderWriter *data, DtReaderWriter *before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, DtReaderWriter *after)
 
virtual void reset () override
 
bool operator== (const DtRwList &rhs) const
 
bool operator!= (const DtRwList &rhs) const
 
virtual void populateListByType (boost::function< void(DtReaderWriter *)> addFunction, DtEnvironmentSP env, DtEnvValueSP node, const DtString &bindingType, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &bindings)
 
 DtRwList (const DtString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwList (const DtSymbolString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual DtListItem * addBefore (DtReaderWriter *data, const DtString &before)
 
virtual DtListItem * addBefore (DtReaderWriter *data, const DtSymbolString &before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, const DtString &after)
 
virtual DtListItem * addAfter (DtReaderWriter *data, const DtSymbolString &after)
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP parent) const override
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP value, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) override
 
- Public Member Functions inherited from DtReaderWriter
 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 DtReaderWriteroperator= (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 void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () 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 putData (std::string &fp, int indentLevel=0)
 
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 DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () 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 unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static const chartheXmlType ()
 
static const charListReaderWriterType ()
 
- Static Public Member Functions inherited from DtRwList
static const chartheXmlType ()
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Attributes

DtString myXmlType
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Additional Inherited Members

- Protected Member Functions inherited from DtRwList
virtual DtListItem * addBefore (DtReaderWriter *data, DtListItem *before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, DtListItem *after)
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Member Typedef Documentation

template<typename T, bool T_autoDelete>
typedef DtIteratorBase<T> DtRwTemplatedListPtr< T, T_autoDelete >::iterator
template<typename T, bool T_autoDelete>
typedef DtIteratorBase<const T> DtRwTemplatedListPtr< T, T_autoDelete >::const_iterator

Constructor & Destructor Documentation

template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( )

default constructor

template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( const DtString name,
DtReaderWriterRegistry parentRegistry = NULL 
)

real constructor

template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( const DtSymbolString name,
DtReaderWriterRegistry parentRegistry = NULL 
)
template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( const DtString name,
const DtRwTemplatedListPtr< T, T_autoDelete > &  orig,
DtReaderWriterRegistry parentRegistry = NULL 
)

Invokes DtReaderWriter copy constructor. Elements are copied using their standard copy constructor.

template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( const DtSymbolString name,
const DtRwTemplatedListPtr< T, T_autoDelete > &  orig,
DtReaderWriterRegistry parentRegistry = NULL 
)
template<typename T, bool T_autoDelete>
DtRwTemplatedListPtr< T, T_autoDelete >::DtRwTemplatedListPtr ( const DtRwTemplatedListPtr< T, T_autoDelete > &  orig,
DtReaderWriterRegistry parentRegistry = NULL 
)

... and make sure the default constructor is overridden:

template<typename T, bool T_autoDelete>
virtual DtRwTemplatedListPtr< T, T_autoDelete >::~DtRwTemplatedListPtr ( )
overridevirtual

Member Function Documentation

template<typename T, bool T_autoDelete>
virtual DtRwTemplatedListPtr& DtRwTemplatedListPtr< T, T_autoDelete >::operator= ( const DtRwTemplatedListPtr< T, T_autoDelete > &  orig)
virtual

Reimplemented in DtSimResourceManager.

template<typename T, bool T_autoDelete>
virtual DtReaderWriter* DtRwTemplatedListPtr< T, T_autoDelete >::createPrototype ( const char name = "") const
inlineoverridevirtual
template<typename T, bool T_autoDelete>
virtual DtlObjPtr DtRwTemplatedListPtr< T, T_autoDelete >::getData ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList variableBindings 
)
overridevirtual

This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter subclass that is being handled by this list must be created, and then retrieved from the mtl stream, using the getSelf member of that item.

Here is some sample code that could be used to implement a override of this class: (This is used in the DtRwIntegerList::getData() method)
DtlObjPtr nameObj = DtcCar(args);
DtRwInt* value = new DtRwInt(nameObj->pname());
value->getSelf(args, searchPaths, variableBindings);
this->add(value);
return DtcCdr(DtcCdr(args));

Implements DtRwList.

template<typename T, bool T_autoDelete>
virtual DtListItem* DtRwTemplatedListPtr< T, T_autoDelete >::insertItemAt ( T *  data,
int  index 
)
inlinevirtual
template<typename T, bool T_autoDelete>
virtual DtListItem* DtRwTemplatedListPtr< T, T_autoDelete >::add ( DtReaderWriter item)
inlineoverridevirtual

Define this function to hide the DtRwList version, and accept only the specific DtReaderWriter subclass that this list is handling.

Reimplemented from DtRwList.

Reimplemented in DtRwHazardTypes.

Referenced by DtRwTemplatedListPtr< DtRwDynamicTerrainChangeInformation, true >::add(), DtLoadPoint::addPoint(), and DtTerrainInterfaceConfig::ListT< DtTerrainInterfaceConfig >::configure().

template<typename T, bool T_autoDelete>
virtual DtListItem* DtRwTemplatedListPtr< T, T_autoDelete >::add ( T *  data)
inlinevirtual
template<typename T, bool T_autoDelete>
virtual void DtRwTemplatedListPtr< T, T_autoDelete >::removeAll ( )
overridevirtual

Removes all entries from the list. If autoDelete is true, also deletes all items.

Reimplemented from DtRwList.

Reimplemented in DtRwSimObjectReferenceList.

template<typename T, bool T_autoDelete>
void* DtRwTemplatedListPtr< T, T_autoDelete >::remove ( DtListItem *  item)
template<typename T, bool T_autoDelete>
void* DtRwTemplatedListPtr< T, T_autoDelete >::remove ( T *  item)
template<typename T, bool T_autoDelete>
virtual std::set<DtString> DtRwTemplatedListPtr< T, T_autoDelete >::supportedXmlTypes ( ) const
overridevirtual

Returns list of supported types. Default is the templated object xml type.

Reimplemented from DtRwList.

Reimplemented in DtRwDistanceAltitudeTimeEntryList.

template<typename T, bool T_autoDelete>
virtual void DtRwTemplatedListPtr< T, T_autoDelete >::removeAndDeleteAll ( )
overridevirtual

Removes and deletes all entries in the list.

Reimplemented from DtRwList.

Reimplemented in DtRwSimObjectReferenceList.

Referenced by DtTerrainInterfaceConfig::ListT< DtTerrainInterfaceConfig >::configure().

template<typename T, bool T_autoDelete>
virtual bool DtRwTemplatedListPtr< T, T_autoDelete >::operator== ( const DtRwTemplatedListPtr< T, T_autoDelete > &  ) const
virtual

Equivalence operators.

Reimplemented in DtSimResourceManager.

template<typename T, bool T_autoDelete>
bool DtRwTemplatedListPtr< T, T_autoDelete >::operator!= ( const DtRwTemplatedListPtr< T, T_autoDelete > &  ) const
template<typename T, bool T_autoDelete>
static const char* DtRwTemplatedListPtr< T, T_autoDelete >::theXmlType ( )
inlinestatic
template<typename T, bool T_autoDelete>
virtual const char* DtRwTemplatedListPtr< T, T_autoDelete >::xmlType ( ) const
inlineoverridevirtual
template<typename T, bool T_autoDelete>
virtual void DtRwTemplatedListPtr< T, T_autoDelete >::populateList ( boost::function< void(DtReaderWriter *)>  addFunction,
DtEnvironmentSP  env,
DtEnvValueSP  node,
const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList bindings 
)
overridevirtual

Reimplemented from DtRwList.

template<typename T, bool T_autoDelete>
DtListItem* DtRwTemplatedListPtr< T, T_autoDelete >::find ( boost::function< bool(const T &)>  predFcn) const

Finds the first item in the list for which predFcn returns true.

template<typename T, bool T_autoDelete>
virtual DtString DtRwTemplatedListPtr< T, T_autoDelete >::prettyPrint ( ) const
overridevirtual

Routine to return a human readable form of the reader/writer variable. Not all reader/writer classes implement this feature. Default is to return an empty string.

Reimplemented from DtReaderWriter.

Reimplemented in DtRwOffsetVectorList, DtRwVectorList, and DtRwChannelSettings.

template<typename T, bool T_autoDelete>
virtual const char* DtRwTemplatedListPtr< T, T_autoDelete >::readerWriterType ( ) const
overridevirtual

Used to supply a string type that this reader writer type is. This can be used in place of dynamic-casting. Also used by the opd editor to determine which type of control to create.

Reimplemented from DtRwList.

Reimplemented in DtRefuelPointsList, DtSupplyEntryList, DtRwDistanceAltitudeTimeEntryList, DtRwScriptVariablesList, DtRwIntelCollectionArea, DtSimResourceManager, DtRwSensorSignatureList, DtRwActivities, and DtRwChannelSettings.

template<typename T, bool T_autoDelete>
static const char* DtRwTemplatedListPtr< T, T_autoDelete >::ListReaderWriterType ( )
static
template<typename T, bool T_autoDelete>
void DtRwTemplatedListPtr< T, T_autoDelete >::copyList ( const DtRwTemplatedListPtr< T, T_autoDelete > &  orig)

Member Data Documentation

template<typename T, bool T_autoDelete>
DtString DtRwTemplatedListPtr< T, T_autoDelete >::myXmlType
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)