Scopira  20080306
scopira::tool::isoiflow Class Reference

#include <polyflow.h>

Inheritance diagram for scopira::tool::isoiflow:
scopira::tool::polyiflow scopira::tool::iobjflow_i scopira::tool::itflow_i scopira::tool::iflow_i scopira::tool::flow_i scopira::tool::object scopira::tool::archiveiflow

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
 
- Public Member Functions inherited from scopira::tool::polyiflow
 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
 
- Public Member Functions inherited from scopira::tool::iobjflow_i
template<class TT >
bool read_object_type (TT *&out)
 
template<class TT >
bool read_object_type (count_ptr< TT > &out)
 
- Public Member Functions inherited from scopira::tool::itflow_i
template<class TT >
bool read_generic (TT &v)
 
- Public Member Functions inherited from scopira::tool::iflow_i
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)
 
- 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_iprint (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
 
- Protected Types inherited from scopira::tool::polyiflow
typedef std::map< int, const std::type_info * > typemap_t
 

Protected Attributes

idmap_t dm_idmap
 
- Protected Attributes inherited from scopira::tool::polyiflow
count2_ptr< itflow_idm_file
 
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::polyiflow
bool read_object_impl (object *&out)
 
- Protected Member Functions inherited from scopira::tool::object
 object (void)
 
 object (bool neverusecounter)
 

Detailed Description

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

Author
Aleksander Demko

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