Scopira
20080306
|
#include <archiveflow.h>
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_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 |
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_i > | dm_file |
typemap_t | dm_typemap |
Opens an archive for reading.
An archive contains a header, after that you simply read the various types using this objects' flow interfaces.
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).