Scopira
20080306
|
#include <polyflow.h>
Public Member Functions | |
isoiflow (bool doref, itflow_i *rz) | |
constructor + open | |
virtual | ~isoiflow () |
destructor | |
virtual bool | read_object (object *&out) |
reads a virtual object from the stream | |
![]() | |
polyiflow (bool doref, itflow_i *rz) | |
constructor + open | |
virtual | ~polyiflow () |
destructor | |
virtual bool | failed (void) const |
are we in a failed state? | |
virtual size_t | read (byte_t *_buf, size_t _maxsize) |
read raw block data, returns num read in | |
virtual bool | read_bool (bool &) |
virtual bool | read_char (char &) |
virtual bool | read_short (short &) |
virtual bool | read_int (int &) |
virtual bool | read_size_t (size_t &) |
virtual bool | read_int64_t (int64_t &) |
virtual bool | read_long (long &) |
virtual bool | read_float (float &) |
virtual bool | read_double (double &) |
virtual bool | read_string (std::string &) |
void | open (itflow_i *fi) |
void | close (void) |
closes the current file | |
![]() | |
template<class TT > | |
bool | read_object_type (TT *&out) |
template<class TT > | |
bool | read_object_type (count_ptr< TT > &out) |
![]() | |
template<class TT > | |
bool | read_generic (TT &v) |
![]() | |
virtual size_t | read_byte (byte_t &out) |
template<class TT > | |
size_t | read_array (TT *_buf, size_t _numelem) |
size_t | read_void (void *_buf, size_t _maxsize) |
![]() | |
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< int, scopira::tool::object * > | idmap_t |
![]() | |
typedef std::map< int, const std::type_info * > | typemap_t |
Protected Attributes | |
idmap_t | dm_idmap |
![]() | |
count2_ptr< itflow_i > | dm_file |
typemap_t | dm_typemap |
Additional Inherited Members | |
![]() | |
enum | { input_c = 1, output_c = 2 } |
typedef scopira::tool::byte_t | byte_t |
typedef int | mode_t |
![]() | |
bool | read_object_impl (object *&out) |
![]() | |
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::polyiflow