16 #include <vlutil/vlSmartPointers.h>
45 const std::vector<DtFilename> &searchPaths = std::vector<DtFilename>(),
50 virtual void writeSelf(std::string &fp,
int indentLevel = 0,
51 bool writeUnspecified =
false,
52 const DtFilename &path = DtFilename::nullFilename())
override;
61 const DtString& variableName,
const std::map<DtString, DtString>& variableSubstitutions = std::map<DtString, DtString>())
const;
63 const DtString& variableName,
const std::map<DtString, DtString>& variableSubstitutions = std::map<DtString, DtString>());
69 const std::map<DtString, DtString>& variableSubstitutions = std::map<DtString, DtString>())
const;
71 const std::map<DtString, DtString>& variableSubstitutions = std::map<DtString, DtString>());
74 template <
typename RW_Type>
80 return dynamic_cast<const RW_Type*
>(rw);
88 static DtRwVariableBindings* createBinding(
const std::list<DtReaderWriter::DtVariableNameType> &);
105 virtual void clearVariables();
116 virtual char*
encode(
char*)
const;
119 virtual const char*
decode(
const char*);
127 virtual void setVariableSubstitutions(
const std::map<DtString, DtString>&);
128 virtual const std::map<DtString, DtString>& variableSubstitutions()
const;
137 const DtString& variableName,
const std::map<DtString, DtString>& variableSubstitutions = std::map<DtString, DtString>())
const;
146 const std::map<DtString, DtString>& variableSubstitutions)
const;
160 const std::list<const DtRwVariableBindings*>&);
bool operator==(const DtReaderWriter &) const
Equivalence operator.
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
#define DT_DLL_readerWriter
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: readerWriterDefines.h:34
std::map< DtString, DtString > myVariableSubstitutions
Definition: rwVariableBindings.h:149
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
std::shared_ptr< DtRwVariableBindings > DtVariableBindingsSharedPtr
Definition: rwVariableBindings.h:152
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
virtual DtString prettyPrint() const
Routine to return a human readable form of the reader/writer variable. Not all reader/writer classes ...
virtual void writeSelf(std::string &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 th...
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
const RW_Type * findAndCastVariableBinding(const DtString &variableName) const
Definition: rwVariableBindings.h:75
bool operator!=(const DtReaderWriter &rhs) const
Definition: readerWriter.h:121
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
DT_DLL_readerWriter bool substituteVariablesInString(DtString &string, const std::list< const DtRwVariableBindings * > &)
Replaces any variables in the specified string with their values specified in the variable bindings l...
static const DtVariableBindingsList & nullVariableReference()
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...