ldas-tools-diskcacheAPI  2.5.6
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
diskCache::Streams::OBinary Class Reference

#include <Binary.hh>

Inheritance diagram for diskCache::Streams::OBinary:
diskCache::Streams::Binary diskCache::Streams::OInterface diskCache::Streams::Interface

Public Types

typedef Common::Registry::id_type id_type
 
typedef Interface::version_type version_type
 
typedef std::streamsize streamsize
 
typedef void(* write_func) (OBinary &Stream, const Streamable &Data)
 
typedef INT_8U size_type
 
enum  version_tag_type {
  VERSION_NONE = 0x0000, VERSION_PROTOTYPE = 0xFFFF, VERSION_PRE_HEADER = 0x00FF, VERSION_HEADER = 0x0100,
  VERSION_MULTIPLE_EXTENSIONS = 0x0101, VERSION_ONLINE_STATUS = 0x0102, VERSION_GENERIC_INDEXES = 0x0103
}
 

Public Member Functions

 OBinary (std::ostream &Sink, version_type Version=VERSION_DEFAULT)
 
 ~OBinary ()
 
bool Writeable () const
 
template<typename Type >
OBinaryoperator<< (const Type &Data)
 
template<>
OBinaryoperator<< (const INT_2U &Data)
 
template<>
OBinaryoperator<< (const INT_2S &Data)
 
template<>
OBinaryoperator<< (const INT_4U &Data)
 
template<>
OBinaryoperator<< (const INT_4S &Data)
 
template<>
OBinaryoperator<< (const INT_8U &Data)
 
template<>
OBinaryoperator<< (const INT_8S &Data)
 
template<>
OBinaryoperator<< (const std::string &Data)
 
template<>
OBinaryoperator<< (const std::list< std::string > &Data)
 
template<>
OBinaryoperator<< (const std::set< std::string > &Data)
 
version_type Version () const
 

Static Public Member Functions

static write_func Writer (id_type Id)
 
static void Writer (id_type Id, write_func Function)
 

Static Public Attributes

static const version_type VERSION_MAX = Interface::VERSION_MULTIPLE_EXTENSIONS
 
static const version_type VERSION_DEFAULT = Interface::VERSION_MULTIPLE_EXTENSIONS
 

Protected Member Functions

void version (version_type Version)
 

Member Typedef Documentation

◆ id_type

◆ size_type

typedef INT_8U diskCache::Streams::Binary::size_type
inherited

◆ streamsize

typedef std::streamsize diskCache::Streams::OBinary::streamsize

◆ version_type

◆ write_func

typedef void(* diskCache::Streams::OBinary::write_func) (OBinary &Stream, const Streamable &Data)

Member Enumeration Documentation

◆ version_tag_type

Enumerator
VERSION_NONE 

Version before the header was introduced.

VERSION_PROTOTYPE 

Version reserved for disk cache development.

Production systems and programs should never try to interpret or generate streams of this version. It is reserved for development purposes when the cache stream is being extended.

VERSION_PRE_HEADER 

version without the header information

This version number is hear to create versions of the cache file without versioning headers.

VERSION_HEADER 

First version with the header information.

This is when the header first appeared in the cache file.

All subsequent version numbers must be greater than this which means that 0x0001 - 0x00FF are all invalid values.

VERSION_MULTIPLE_EXTENSIONS 

Introduction of multiple file extensions.

Multiple file extensions allows for indexing of files in the S-D-G-T form that do not end in .gwf

Note
This mode is still under development and should not be used.
VERSION_ONLINE_STATUS 

Introduction of online status.

File contains online status field.

Note
This mode is still under development and should not be used.
VERSION_GENERIC_INDEXES 

Introduction of generic indexes.

Generic indexes allow for caching more than files of the type S-D-G-T.gwf

Note
This mode is still under development and should not be used.

Constructor & Destructor Documentation

◆ OBinary()

diskCache::Streams::OBinary::OBinary ( std::ostream &  Sink,
version_type  Version = VERSION_DEFAULT 
)

◆ ~OBinary()

diskCache::Streams::OBinary::~OBinary ( )

Member Function Documentation

◆ operator<<() [1/10]

template<typename Type >
OBinary& diskCache::Streams::OBinary::operator<< ( const Type &  Data)

◆ operator<<() [2/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_2U &  Data)
inline

◆ operator<<() [3/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_2S &  Data)
inline

◆ operator<<() [4/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_4U &  Data)
inline

◆ operator<<() [5/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_4S &  Data)
inline

◆ operator<<() [6/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_8U &  Data)
inline

◆ operator<<() [7/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const INT_8S &  Data)
inline

◆ operator<<() [8/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const std::string &  Data)
inline

◆ operator<<() [9/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const std::list< std::string > &  Data)
inline

◆ operator<<() [10/10]

template<>
OBinary& diskCache::Streams::OBinary::operator<< ( const std::set< std::string > &  Data)
inline

◆ Version()

Interface::version_type diskCache::Streams::Interface::Version ( ) const
inlineinherited

◆ version()

void diskCache::Streams::Interface::version ( version_type  Version)
inlineprotectedinherited

◆ Writeable()

bool diskCache::Streams::OBinary::Writeable ( ) const
inline

◆ Writer() [1/2]

OBinary::write_func diskCache::Streams::OBinary::Writer ( id_type  Id)
inlinestatic

◆ Writer() [2/2]

void diskCache::Streams::OBinary::Writer ( id_type  Id,
write_func  Function 
)
inlinestatic

Member Data Documentation

◆ VERSION_DEFAULT

const version_type diskCache::Streams::OBinary::VERSION_DEFAULT = Interface::VERSION_MULTIPLE_EXTENSIONS
static

◆ VERSION_MAX

const version_type diskCache::Streams::OBinary::VERSION_MAX = Interface::VERSION_MULTIPLE_EXTENSIONS
static

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