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

List of all members.

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

Protected Types

typedef std::map< int, const
std::type_info * > 
typemap_t

Protected Member Functions

bool read_object_impl (object *&out)

Protected Attributes

count2_ptr< itflow_idm_file
typemap_t dm_typemap

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

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
virtual bool scopira::tool::polyiflow::read_bool ( bool &  ) [virtual]

Reads an bool, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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

Reads an char, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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

Reads a double, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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

Reads a float, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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

Reads an int, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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.

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

Reads an long, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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

Reads an short, returns true on success

Author:
Aleksander Demko

Implements scopira::tool::itflow_i.

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.

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: