Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::SerializableObject Class Referenceabstract

Base class of all reference-counted objects with serialization support. More...

#include <mitsuba/core/serialization.h>

+ Inheritance diagram for mitsuba::SerializableObject:

Public Member Functions

 SerializableObject (Stream *stream, InstanceManager *manager)
 Unserialize a serializable object. More...
 
virtual void serialize (Stream *stream, InstanceManager *manager) const =0
 Serialize this object to a stream. More...
 
virtual const ClassgetClass () const
 Retrieve this object's class. More...
 
- Public Member Functions inherited from Object
 Object ()
 Construct a new object. More...
 
int getRefCount () const
 Return the current reference count. More...
 
void incRef () const
 Increase the reference count of the object by one. More...
 
void decRef (bool autoDeallocate=true) const
 Decrease the reference count of the object and possibly deallocate it. More...
 
virtual std::string toString () const
 Return a human-readable string representation of the object's contents. More...
 

Static Public Attributes

static Classm_theClass
 
- Static Public Attributes inherited from Object
static Classm_theClass
 Pointer to the object's class descriptor. More...
 

Protected Member Functions

 SerializableObject ()
 Construct a serializable object. More...
 
virtual ~SerializableObject ()
 Virtual deconstructor. More...
 
- Protected Member Functions inherited from Object
virtual ~Object ()
 Virtual private deconstructor. (Will only be called by ref) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static void staticInitialization ()
 Initializes the built-in reference count debugger (if enabled) More...
 
static void staticShutdown ()
 Free the memory taken by staticInitialization() More...
 

Detailed Description

Base class of all reference-counted objects with serialization support.

To support unserialization from a stream, the implementation should use one of the RTTI macros MTS_IMPLEMENT_CLASS_S or MTS_IMPLEMENT_CLASS_IS.

Constructor & Destructor Documentation

mitsuba::SerializableObject::SerializableObject ( Stream stream,
InstanceManager manager 
)

Unserialize a serializable object.

mitsuba::SerializableObject::SerializableObject ( )
inlineprotected

Construct a serializable object.

virtual mitsuba::SerializableObject::~SerializableObject ( )
inlineprotectedvirtual

Virtual deconstructor.

Member Function Documentation

Member Data Documentation

Class* mitsuba::SerializableObject::m_theClass
static

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