Scopira  20080306
scopira::tool::polyiflow Class Reference

#include <polyflow.h>

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

Public Member Functions

 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 &)
 
virtual bool read_object (object *&out)
 reads a virtual object from the stream
 
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, const std::type_info * > typemap_t
 

Protected Member Functions

bool read_object_impl (object *&out)
 
- Protected Member Functions inherited from scopira::tool::object
 object (void)
 
 object (bool neverusecounter)
 

Protected Attributes

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
 

Detailed Description

polymorphic input

a polymorphic flow implementation. this implementation does NOT handle morphic pointers. that is, it saves each object completly, with not regard for circular pointer relationships

Author
Aleksander Demko

Member Function Documentation

◆ open()

void scopira::tool::polyiflow::open ( itflow_i fi)

opens a flow on the given file stream. the flow will "own" the file stream

Parameters
fithe file to operate on
Author
Aleksander Demko

◆ read_bool()

virtual bool scopira::tool::polyiflow::read_bool ( bool &  )
virtual

Reads an bool, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_char()

virtual bool scopira::tool::polyiflow::read_char ( char &  )
virtual

Reads an char, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_double()

virtual bool scopira::tool::polyiflow::read_double ( double &  )
virtual

Reads a double, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_float()

virtual bool scopira::tool::polyiflow::read_float ( float &  )
virtual

Reads a float, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_int()

virtual bool scopira::tool::polyiflow::read_int ( int &  )
virtual

Reads an int, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_int64_t()

virtual bool scopira::tool::polyiflow::read_int64_t ( int64_t &  )
virtual

Reads an int64_t, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_long()

virtual bool scopira::tool::polyiflow::read_long ( long &  )
virtual

Reads an long, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_short()

virtual bool scopira::tool::polyiflow::read_short ( short &  )
virtual

Reads an short, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_size_t()

virtual bool scopira::tool::polyiflow::read_size_t ( size_t &  )
virtual

Reads a size_t, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_string()

virtual bool scopira::tool::polyiflow::read_string ( std::string &  )
virtual

Reads an STL string, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.


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