Scopira  20080306
scopira::tool::archiveiflow Class Reference

#include <archiveflow.h>

Inheritance diagram for scopira::tool::archiveiflow:
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

Public Member Functions

 archiveiflow (void)
 ctor
 
virtual bool failed (void) const
 failed state?
 
std::string open (const std::string &filename, const std::string &tagprefix)
 
- Public Member Functions inherited from scopira::tool::isoiflow
 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 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
 

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 Types inherited from scopira::tool::isoiflow
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 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)
 
- Protected Attributes inherited from scopira::tool::isoiflow
idmap_t dm_idmap
 
- Protected Attributes inherited from scopira::tool::polyiflow
count2_ptr< itflow_idm_file
 
typemap_t dm_typemap
 

Detailed Description

Opens an archive for reading.

An archive contains a header, after that you simply read the various types using this objects' flow interfaces.

Author
Aleksander Demko

Member Function Documentation

◆ open()

std::string scopira::tool::archiveiflow::open ( const std::string &  filename,
const std::string &  tagprefix 
)

Attempts to open a previously created archive.

The that file is not an archive, or the tag within the archive does not begin with tagprefix, the stream goes into a failed state and empty string is returned.

On success, the actual tag is returned. On failure, "" is returned (and failed() is set).

Author
Aleksander Demko

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