Scopira
20080306
|
#include <polyflow.h>
Public Member Functions | |
isooflow (bool doref, otflow_i *rz) | |
constructor + open | |
virtual | ~isooflow () |
destructor | |
virtual void | write_object (const scopira::tool::object *o) |
saves the object to stream | |
Public Member Functions inherited from scopira::tool::polyoflow | |
polyoflow (bool doref, otflow_i *rz) | |
constructor + open | |
virtual | ~polyoflow () |
destructor | |
virtual bool | failed (void) const |
are we in a failed state? | |
virtual size_t | write (const byte_t *_buf, size_t _size) |
write a raw block of data | |
virtual void | write_bool (bool val) |
virtual void | write_char (char val) |
virtual void | write_short (short val) |
virtual void | write_int (int val) |
virtual void | write_size_t (size_t val) |
virtual void | write_int64_t (int64_t val) |
virtual void | write_long (long val) |
virtual void | write_float (float val) |
virtual void | write_double (double val) |
virtual void | write_string (const std::string &val) |
void | open (otflow_i *fi) |
void | close (void) |
closes the current file | |
Public Member Functions inherited from scopira::tool::oobjflow_i | |
template<class L > | |
void | write_object_type (const scopira::tool::count_ptr< L > &o) |
Public Member Functions inherited from scopira::tool::otflow_i | |
template<class TT > | |
void | write_generic (const TT &v) |
Public Member Functions inherited from scopira::tool::oflow_i | |
virtual size_t | write_byte (byte_t b) |
template<class TT > | |
size_t | write_array (const TT *_buf, size_t _numelem) |
size_t | write_void (const void *_buf, size_t _size) |
Public Member Functions inherited from scopira::tool::object | |
virtual | ~object () |
int | add_ref (void) const |
bool | sub_ref (void) const |
void | auto_ref (void) const |
int | current_ref (void) const |
virtual scopira::tool::oflow_i & | print (scopira::tool::oflow_i &o) const |
virtual bool | load (scopira::tool::iobjflow_i &in) |
virtual void | save (scopira::tool::oobjflow_i &out) const |
bool | is_alive_object (void) const |
bool | is_dead_object (void) const |
Protected Types | |
typedef std::map< const scopira::tool::object *, int > | ptrmap_t |
Protected Types inherited from scopira::tool::polyoflow | |
typedef std::map< std::string, int > | typemap_t |
Protected Attributes | |
int | dm_nextid |
ptrmap_t | dm_ptrmap |
Protected Attributes inherited from scopira::tool::polyoflow | |
count2_ptr< otflow_i > | dm_file |
int | dm_next_typeid |
typemap_t | dm_typemap |
Additional Inherited Members | |
Public Types inherited from scopira::tool::flow_i | |
enum | { input_c = 1, output_c = 2 } |
typedef scopira::tool::byte_t | byte_t |
typedef int | mode_t |
Protected Member Functions inherited from scopira::tool::object | |
object (void) | |
object (bool neverusecounter) | |
This is an polyoflow implementation that implements full serialazation of objects, and has support for multi references. That is, if an object is refered to by multiple pointers, it will only be written to disk once.
Reading the objects back from the stream also reproduces one instance. rather than many.
This is stream is almost always prefeered over scopira::tool::polyoflow