SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
Piostream Class Referenceabstract

#include <Persistent.h>

Inheritance diagram for Piostream:
BinaryPiostream FastPiostream GZPiostream TextPiostream BinarySwapPiostream GZSwapPiostream

Public Types

enum  Direction { Read, Write }
 
enum  Endian { Big, Little }
 
typedef std::map< Persistent
*, int > 
MapPersistentInt
 
typedef std::map< int,
Persistent * > 
MapIntPersistent
 

Public Member Functions

void flag_error ()
 
virtual ~Piostream ()
 
virtual std::string peek_class ()
 
virtual int begin_class (const std::string &name, int current_version)
 
virtual void end_class ()
 
virtual void begin_cheap_delim ()
 
virtual void end_cheap_delim ()
 
virtual void io (bool &)
 
virtual void io (char &)=0
 
virtual void io (signed char &)=0
 
virtual void io (unsigned char &)=0
 
virtual void io (short &)=0
 
virtual void io (unsigned short &)=0
 
virtual void io (int &)=0
 
virtual void io (unsigned int &)=0
 
virtual void io (long &)=0
 
virtual void io (unsigned long &)=0
 
virtual void io (long long &)=0
 
virtual void io (unsigned long long &)=0
 
virtual void io (double &)=0
 
virtual void io (float &)=0
 
virtual void io (std::string &str)=0
 
virtual bool eof ()
 
void io (Persistent *&, const PersistentTypeID &)
 
bool reading () const
 
bool writing () const
 
bool error () const
 
int version () const
 
bool backwards_compat_id () const
 
void set_backwards_compat_id (bool p)
 
virtual bool supports_block_io ()
 
virtual bool block_io (void *, size_t, size_t)
 
void disable_pointer_hashing ()
 

Static Public Member Functions

static bool readHeader (Core::Logging::LoggerHandle pr, const std::string &filename, char *hdr, const char *type, int &version, int &endian)
 

Public Attributes

std::string file_name
 

Static Public Attributes

static const int PERSISTENT_VERSION = 2
 

Protected Member Functions

 Piostream (Direction, int, const std::string &, Core::Logging::LoggerHandle pr)
 Piostream class implementation More...
 
virtual void emit_pointer (int &have_data, int &pointer_id)
 

Protected Attributes

Direction dir
 
int version_
 
bool err
 
int file_endian
 
MapPersistentIntoutpointers
 
MapIntPersistentinpointers
 
int current_pointer_id
 
bool have_peekname_
 
std::string peekname_
 
Core::Logging::LoggerHandle reporter_
 
bool backwards_compat_id_
 
bool disable_pointer_hashing_
 

Friends

SCISHARE friend PiostreamPtr auto_istream (const std::string &filename, Core::Logging::LoggerHandle pr)
 
SCISHARE friend PiostreamPtr auto_ostream (const std::string &filename, const std::string &type, Core::Logging::LoggerHandle pr)
 

Member Typedef Documentation

typedef std::map<int, Persistent*> MapIntPersistent
typedef std::map<Persistent*, int> MapPersistentInt

Member Enumeration Documentation

enum Direction
Enumerator
Read 
Write 
enum Endian
Enumerator
Big 
Little 

Constructor & Destructor Documentation

Piostream ( Direction  dir,
int  version,
const std::string &  name,
Core::Logging::LoggerHandle  pr 
)
protected

Piostream class implementation

~Piostream ( )
virtual

Member Function Documentation

bool backwards_compat_id ( ) const
inline
void begin_cheap_delim ( )
virtual

Reimplemented in TextPiostream.

int begin_class ( const std::string &  name,
int  current_version 
)
virtual

Reimplemented in TextPiostream.

virtual bool block_io ( void *  ,
size_t  ,
size_t   
)
inlinevirtual
void disable_pointer_hashing ( )
inline
void emit_pointer ( int &  have_data,
int &  pointer_id 
)
protectedvirtual
void end_cheap_delim ( )
virtual

Reimplemented in TextPiostream.

void end_class ( )
virtual

Reimplemented in TextPiostream.

virtual bool eof ( )
inlinevirtual

Reimplemented in TextPiostream.

bool error ( ) const
inline
void flag_error ( )
inline
void io ( bool &  data)
virtual

Reimplemented in FastPiostream, and TextPiostream.

virtual void io ( char &  )
pure virtual
virtual void io ( signed char &  )
pure virtual
virtual void io ( unsigned char &  )
pure virtual
virtual void io ( short &  )
pure virtual
virtual void io ( unsigned short &  )
pure virtual
virtual void io ( int &  )
pure virtual
virtual void io ( unsigned int &  )
pure virtual
virtual void io ( long &  )
pure virtual
virtual void io ( unsigned long &  )
pure virtual
virtual void io ( long long &  )
pure virtual
virtual void io ( unsigned long long &  )
pure virtual
virtual void io ( double &  )
pure virtual
virtual void io ( float &  )
pure virtual
virtual void io ( std::string &  str)
pure virtual
void io ( Persistent *&  data,
const PersistentTypeID pid 
)
Todo:
ULTRA HACKY CODE
std::string peek_class ( )
virtual

Reimplemented in TextPiostream.

bool readHeader ( Core::Logging::LoggerHandle  pr,
const std::string &  filename,
char *  hdr,
const char *  type,
int &  version,
int &  endian 
)
static
bool reading ( ) const
inline
void set_backwards_compat_id ( bool  p)
inline
virtual bool supports_block_io ( )
inlinevirtual
int version ( ) const
inline
bool writing ( ) const
inline

Friends And Related Function Documentation

SCISHARE friend PiostreamPtr auto_istream ( const std::string &  filename,
Core::Logging::LoggerHandle  pr 
)
friend
SCISHARE friend PiostreamPtr auto_ostream ( const std::string &  filename,
const std::string &  type,
Core::Logging::LoggerHandle  pr 
)
friend

Member Data Documentation

bool backwards_compat_id_
protected
int current_pointer_id
protected
Direction dir
protected
bool disable_pointer_hashing_
protected
bool err
protected
int file_endian
protected
std::string file_name
bool have_peekname_
protected
MapIntPersistent* inpointers
protected
MapPersistentInt* outpointers
protected
std::string peekname_
protected
const int PERSISTENT_VERSION = 2
static
Core::Logging::LoggerHandle reporter_
protected
int version_
protected

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