ML Reference
MeVis/Foundation/Sources/MLUtilities/mlAbstractPersistenceStream.h File Reference

These abstract classes define an interface to allow the storing and restoring of structured objects. More...

#include "mlUtilsSystem.h"
#include "mlTypeDefs.h"
#include "mlSystemWarningsDisable.h"
#include <list>
#include <set>
#include "mlSystemWarningsRestore.h"

Go to the source code of this file.

Classes

class  ml::AbstractPersistenceStream
 AbstactPersistenceStream is the base class for AbstractPersistenceOutputStream and AbstractPersistenceInputStream and implements the methods that are common for both these classes. More...
class  ml::AbstractPersistenceOutputStream
 Class for writing object data to a stream. More...
class  ml::AbstractPersistenceInputStream
 Class for reading object data from a stream. More...
class  ml::PersistenceStreamException
 This class represents the exceptions that can be thrown while reading from or writing to the persistence stream. More...
class  ml::PersistenceStreamIOException
 Derived class. More...
class  ml::PersistenceStreamFormatException
 Derived class. More...
class  ml::PersistenceStreamInternalError
 Derived class. This exception usually denotes programming errors. More...

Namespaces

namespace  ml
 

Define the namespace name like in the ML. Default is ml.


Defines

#define ML_WRITETO_SUPER(SuperClass, stream)
 Use this macro if you would like to store your super class members as well.
#define ML_READFROM_SUPER(SuperClass, stream)
 Use this macro if you would like to store your super class members as well.

Detailed Description

These abstract classes define an interface to allow the storing and restoring of structured objects.

Author:
Uwe Siems
Date:
2012-10

Definition in file mlAbstractPersistenceStream.h.


Define Documentation

#define ML_READFROM_SUPER (   SuperClass,
  stream 
)
Value:
{ \
  int version = stream->startStructWithVersion("_" #SuperClass); \
  SuperClass::readFrom(stream, version); \
  stream->versionCheck(SuperClass::getTypeId()->getName(), SuperClass::getAddStateVersion(), version); \
  stream->endStruct(); \
}

Use this macro if you would like to store your super class members as well.

Mandatory if the superclass uses versioning.

Definition at line 448 of file mlAbstractPersistenceStream.h.

#define ML_WRITETO_SUPER (   SuperClass,
  stream 
)
Value:
{ \
  stream->startStructWithVersion(SuperClass::getAddStateVersion(), "_" #SuperClass); \
  SuperClass::writeTo(stream); \
  stream->endStruct(); \
}

Use this macro if you would like to store your super class members as well.

Mandatory if the superclass uses versioning.

Definition at line 440 of file mlAbstractPersistenceStream.h.