|
virtual | ~AbstractPersistenceInputStream () |
|
int | startStructWithVersion (const char *name=nullptr) |
| start a struct, returns version of struct (0 if not given)
|
|
template<typename T > |
void | read (std::vector< T > &values, const char *name=nullptr) |
| Read vectors of primitive values from the stream.
|
|
template<typename T , size_t n, class DataContainer > |
void | read (FloatingPointVector< T, n, DataContainer > &value, const char *name=nullptr) |
| Read float vectors like vec3f from the stream.
|
|
template<typename T , size_t n> |
void | read (TVectorNDBase< T, n > &value, const char *name=nullptr) |
| Read integer vectors like ImageVector from the stream.
|
|
template<typename T , size_t n> |
void | read (FloatingPointMatrix< T, n > &value, const char *name=nullptr) |
| Read float matrices like mat4 from the stream.
|
|
template<typename T > |
void | readOptional (T &value, const T &defaultValue, const char *name=nullptr) |
| Perform optional reading for all above methods.
|
|
virtual Base * | readObject (const char *name=nullptr) |
| Read Base object from stream.
|
|
virtual void | readData (std::string &value, const char *name=nullptr)=0 |
| Same as above for binary data (std::string misused as binary data container)
|
|
bool | hasNextInStruct (std::string &name) |
| Returns true if there is another element in the current struct scope, and if so then sets name to its name.
|
|
bool | isNextInStruct (const char *name) |
| Check if an item with the given name comes next in the stream.
|
|
bool | hasNextListItem () |
| Check if there is another item in the current list.
|
|
void | versionCheck (const char *className, int objectVersion, int storedVersion) |
| print a warning if the storedVersion is greater than the objectVersion
|
|
|
virtual void | read (bool &value, const char *name=nullptr) |
| Read primitive values from the stream.
|
|
void | read (MLint32 &value, const char *name=nullptr) |
|
void | read (MLuint32 &value, const char *name=nullptr) |
|
void | read (MLint64 &value, const char *name=nullptr) |
|
void | read (MLuint64 &value, const char *name=nullptr) |
|
void | read (MLfloat &value, const char *name=nullptr) |
|
void | read (MLdouble &value, const char *name=nullptr) |
|
void | read (std::string &value, const char *name=nullptr) |
|
void | startList (const char *name=nullptr, const char *xmlItemName="Item", bool xmlSuppressScope=false) |
| Start a new list of values in the data stream, must be ended with endList().
|
|
void | endList () |
| End reading/writing of the list.
|
|
void | startStruct (const char *name=nullptr) |
| Start a new struct of values in the data stream, must be ended with endStruct().
|
|
void | endStruct () |
| End reading/writing of struct values.
|
|
virtual bool | isBinary () const =0 |
| Is the stream in a binary format? (otherwise in a readable text format)
|
|
|
| AbstractPersistenceInputStream () |
|
virtual bool | hasNextInStructImpl (std::string &name)=0 |
| Check if an item with the given name comes next in the stream.
|
|
virtual bool | hasNextListItemImpl ()=0 |
| Check if there is another item in the current list.
|
|
virtual void | readString (const char *name, std::string &value)=0 |
| Abstract reading method that needs to be implemented by derived classes.
|
|
virtual void | formatError (const std::string &msg) |
| indicate format error, by default throw exception
|
|
|
virtual bool | getObjectID (int &id)=0 |
| Implementation of Base object persistence, get attribute of currently open structget unique id of object - currently unused.
|
|
virtual bool | getObjectType (std::string &type)=0 |
| base type name
|
|
virtual bool | getObjectVersion (int &version)=0 |
| persistence version
|
|
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLint32 > &values)=0 |
| Abstract reading methods that need to be implemented by derived classes.
|
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLuint32 > &values)=0 |
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLint64 > &values)=0 |
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLuint64 > &values)=0 |
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLfloat > &values)=0 |
|
virtual void | readValues (const char *name, size_t expected, std::vector< MLdouble > &values)=0 |
|
| AbstractPersistenceStream () |
|
virtual | ~AbstractPersistenceStream () |
|
virtual void | nameCheck (const char *name) |
| Check if the name is provided when being in a sub-group, or that no name is provided when being in a list.
|
|
bool | isInList () const |
| Check if the stream is currently in "list" mode. Otherwise it is in "struct" mode.
|
|
size_t | nestingDepth () const |
| return depth of nesting stack (created by startList/startStruct), used to check nesting rules
|
|
virtual void | internalError (const char *msg, const char *arg=nullptr) |
| Log an internal error. Usually called to indicate wrong usage of interface.
|
|
virtual void | startListImpl (const char *name, const char *xmlItemName, bool xmlSuppressScope)=0 |
| Abstract methods called by above methods, need to be implemented in derived classes.
|
|
virtual void | endListImpl ()=0 |
|
virtual void | startStructImpl (const char *name)=0 |
|
virtual void | endStructImpl ()=0 |
|
Class for reading object data from a stream.
This class has read methods for the types bool, MLint32, MLuint32, MLint64, MLuint64, float, double, std::string and all vector and matrix types from MLLinearAlgebra. You can also read binary data (with readData()) and Base objects (with readObject()) from the stream.
You can use the readOptional() methods if an data item need not exist on the stream, but this is for convenience, you can always check with isNextInStruct() (for structure scopes) or hasNextListItem() (for list scopes) if the next item in the stream is like you expect. There is also the hasNextInStruct() method for getting the next item's name in a structure scope.
Definition at line 238 of file mlAbstractPersistenceStream.h.