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 | |
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_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 |
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_i > | dm_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) | |
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