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

#include <Binary.hh>

Inheritance diagram for diskCache::Streams::IBinary:
diskCache::Streams::Binary diskCache::Streams::IInterface diskCache::Streams::Interface

Classes

class  SwapError
 

Public Types

typedef Common::Registry::id_type id_type
 
typedef LDASTools::AL::SharedPtr< Streamableread_return_type
 
typedef read_return_type(* read_func) (IBinary &Stream)
 
typedef Interface::version_type version_type
 
typedef std::streamsize streamsize
 
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

 IBinary (std::istream &Source)
 
 ~IBinary ()
 
bool Readable () const
 
template<typename Type >
IBinaryoperator>> (Type &Data)
 
template<>
IBinaryoperator>> (std::set< std::string > &Data)
 
template<>
IBinaryoperator>> (std::list< std::string > &Data)
 
template<>
IBinaryoperator>> (INT_2U &Data)
 
template<>
IBinaryoperator>> (INT_2S &Data)
 
template<>
IBinaryoperator>> (INT_4U &Data)
 
template<>
IBinaryoperator>> (INT_4S &Data)
 
template<>
IBinaryoperator>> (INT_8U &Data)
 
template<>
IBinaryoperator>> (INT_8S &Data)
 
template<>
IBinaryoperator>> (std::string &Data)
 
void clear (std::ios::iostate=std::ios::goodbit)
 
bool eof () const
 
version_type Version () const
 

Static Public Member Functions

static read_func Reader (id_type Id)
 
static void Reader (id_type Id, read_func Function)
 

Protected Member Functions

void version (version_type Version)
 

Protected Attributes

std::istream & m_stream
 

Member Typedef Documentation

◆ id_type

◆ read_func

typedef read_return_type(* diskCache::Streams::IBinary::read_func) (IBinary &Stream)

◆ read_return_type

typedef LDASTools::AL::SharedPtr< Streamable > diskCache::Streams::IBinary::read_return_type

◆ size_type

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

◆ streamsize

typedef std::streamsize diskCache::Streams::IBinary::streamsize

◆ version_type

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

◆ IBinary()

diskCache::Streams::IBinary::IBinary ( std::istream &  Source)

◆ ~IBinary()

diskCache::Streams::IBinary::~IBinary ( )

Member Function Documentation

◆ clear()

void diskCache::Streams::IInterface::clear ( std::ios::iostate  State = std::ios::goodbit)
inlineinherited

◆ eof()

bool diskCache::Streams::IInterface::eof ( ) const
inlineinherited

◆ operator>>() [1/10]

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

◆ operator>>() [2/10]

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

◆ operator>>() [3/10]

template<>
IBinary& diskCache::Streams::IBinary::operator>> ( std::set< std::string > &  Data)

◆ operator>>() [4/10]

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

◆ operator>>() [5/10]

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

◆ operator>>() [6/10]

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

◆ operator>>() [7/10]

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

◆ operator>>() [8/10]

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

◆ operator>>() [9/10]

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

◆ operator>>() [10/10]

template<>
IBinary& diskCache::Streams::IBinary::operator>> ( std::string &  Data)
inline
Todo:
Protect against buffer overrun

◆ Readable()

bool diskCache::Streams::IBinary::Readable ( ) const
inline

◆ Reader() [1/2]

IBinary::read_func diskCache::Streams::IBinary::Reader ( id_type  Id)
inlinestatic

◆ Reader() [2/2]

void diskCache::Streams::IBinary::Reader ( id_type  Id,
read_func  Function 
)
inlinestatic

◆ Version()

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

◆ version()

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

Member Data Documentation

◆ m_stream

std::istream& diskCache::Streams::IInterface::m_stream
protectedinherited

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