ldas-tools-framecpp  2.5.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
FrameCPP::Common::FrameBuffer< BT > Class Template Referenceabstract

Buffer appropriate for caching frame data. More...

#include <FrameBuffer.hh>

Inheritance diagram for FrameCPP::Common::FrameBuffer< BT >:
FrameCPP::Common::FrameBufferInterface

Public Types

typedef FrameBuffer< BT > buffer_type
 Type of self. More...
 
typedef BT element_type
 
typedef BT::char_type char_type
 type representing a character in the stream. More...
 
typedef BT::int_type int_type
 integer type More...
 
typedef BT::pos_type pos_type
 type appropriate for holding stream position information More...
 
typedef BT::off_type off_type
 type apprpriate to hold stream offset request More...
 
typedef INT_4U buffer_size_type
 

Public Member Functions

 FrameBuffer (std::ios::openmode Mode, bool ParentAutoDelete=true)
 constructor More...
 
virtual void FilterAdd (FrameCPP::Common::StreamFilter *Filter)
 Adds a filter to the stream. More...
 
virtual void FilterRemove (FrameCPP::Common::StreamFilter *Filter)
 Removes a filter from the stream. More...
 
bool FilterInternally () const
 Returns true if filtering happens internally; false otherwise. More...
 
FrameBuffer< BT > * close ()
 
FrameBuffer< BT > * open (const std::string &Filename, std::ios::openmode Mode)
 
void UseMemoryMappedIO (bool Value)
 
template<>
FrameBuffer< std::filebuf > * close ()
 
template<>
FrameBuffer< std::filebuf > * open (const std::string &Filename, std::ios::openmode Mode)
 
template<>
void UseMemoryMappedIO (bool Value)
 
template<>
void UseMemoryMappedIO (bool Value)
 
template<>
FrameBuffer
< LDASTools::AL::filebuf > * 
close ()
 
template<>
FrameBuffer
< LDASTools::AL::filebuf > * 
open (const std::string &Filename, std::ios::openmode Mode)
 
template<>
bool FilterInternally () const
 
bool AutoDelete () const
 
void AutoDelete (bool Value)
 
template<class DT >
void filter (const DT &Data)
 
virtual void filter (const char_type *Start, const char_type *End)=0
 
void FilterBuffer (const char *Begin, const char *End)
 
const std::string & BufferId () const
 Retrieve the string identification of the buffer. More...
 

Static Public Attributes

static const buffer_size_type M_BUFFER_SIZE_DEFAULT = 256 * 1024
 The default size for buffered input and output. More...
 
static const buffer_size_type M_BUFFER_SIZE_SYSTEM = ~buffer_size_type( 0 )
 

Protected Types

typedef std::list
< FrameCPP::Common::StreamFilter * > 
filters_type
 Type specifying the container holding the active filters. More...
 

Protected Member Functions

virtual FrameBuffer< BT > * setbuf (char_type *S, std::streamsize N)
 Routine to register if the caller has specified a buffer. More...
 
virtual void buffer ()
 Establish buffering. More...
 
void bufferId (const std::string &Id)
 

Protected Attributes

filters_type m_filters
 Container holding all active filters. More...
 

Friends

class IStream
 
class OStream
 

Detailed Description

template<typename BT>
class FrameCPP::Common::FrameBuffer< BT >

Buffer appropriate for caching frame data.

Member Typedef Documentation

template<typename BT >
typedef FrameBuffer< BT > FrameCPP::Common::FrameBuffer< BT >::buffer_type

Type of self.

template<typename BT >
typedef BT::char_type FrameCPP::Common::FrameBuffer< BT >::char_type

type representing a character in the stream.

template<typename BT >
typedef BT FrameCPP::Common::FrameBuffer< BT >::element_type

Type specifying the container holding the active filters.

template<typename BT >
typedef BT::int_type FrameCPP::Common::FrameBuffer< BT >::int_type

integer type

template<typename BT >
typedef BT::off_type FrameCPP::Common::FrameBuffer< BT >::off_type

type apprpriate to hold stream offset request

template<typename BT >
typedef BT::pos_type FrameCPP::Common::FrameBuffer< BT >::pos_type

type appropriate for holding stream position information

Constructor & Destructor Documentation

template<typename BT >
FrameCPP::Common::FrameBuffer< BT >::FrameBuffer ( std::ios::openmode  Mode,
bool  ParentAutoDelete = true 
)

constructor

Member Function Documentation

bool FrameCPP::Common::FrameBufferInterface::AutoDelete ( ) const
inlineinherited
void FrameCPP::Common::FrameBufferInterface::AutoDelete ( bool  Value)
inlineinherited
template<typename BT >
void FrameCPP::Common::FrameBuffer< BT >::buffer ( )
protectedvirtual

Establish buffering.

Implements FrameCPP::Common::FrameBufferInterface.

const std::string & FrameCPP::Common::FrameBufferInterface::BufferId ( ) const
inlineinherited

Retrieve the string identification of the buffer.

Returns
An identifier associated with the open buffer.
void FrameCPP::Common::FrameBufferInterface::bufferId ( const std::string &  Id)
inlineprotectedinherited
template<>
FrameBuffer< std::filebuf > * FrameCPP::Common::FrameBuffer< std::filebuf >::close ( )
template<typename BT >
FrameBuffer<BT>* FrameCPP::Common::FrameBuffer< BT >::close ( )
template<>
FrameBuffer< LDASTools::AL::filebuf > * FrameCPP::Common::FrameBuffer< LDASTools::AL::filebuf >::close ( )
template<class DT >
void FrameCPP::Common::FrameBufferInterface::filter ( const DT &  Data)
inlineinherited
virtual void FrameCPP::Common::FrameBufferInterface::filter ( const char_type Start,
const char_type End 
)
pure virtualinherited
template<typename BT >
void FrameCPP::Common::FrameBuffer< BT >::FilterAdd ( FrameCPP::Common::StreamFilter Filter)
virtual

Adds a filter to the stream.

Parameters
[in]FilterFilter function to add to the stream

Reimplemented from FrameCPP::Common::FrameBufferInterface.

void FrameCPP::Common::FrameBufferInterface::FilterBuffer ( const char *  Begin,
const char *  End 
)
inherited
template<>
bool FrameCPP::Common::FrameBuffer< filebuf >::FilterInternally ( ) const
virtual
template<typename BT >
bool FrameCPP::Common::FrameBuffer< BT >::FilterInternally ( ) const
virtual

Returns true if filtering happens internally; false otherwise.

Implements FrameCPP::Common::FrameBufferInterface.

template<typename BT >
void FrameCPP::Common::FrameBuffer< BT >::FilterRemove ( FrameCPP::Common::StreamFilter Filter)
virtual

Removes a filter from the stream.

Parameters
[in]FilterFilter function to remove from the stream

Reimplemented from FrameCPP::Common::FrameBufferInterface.

template<>
FrameBuffer< std::filebuf > * FrameCPP::Common::FrameBuffer< std::filebuf >::open ( const std::string &  Filename,
std::ios::openmode  Mode 
)
template<typename BT >
FrameBuffer<BT>* FrameCPP::Common::FrameBuffer< BT >::open ( const std::string &  Filename,
std::ios::openmode  Mode 
)
template<>
FrameBuffer< LDASTools::AL::filebuf > * FrameCPP::Common::FrameBuffer< LDASTools::AL::filebuf >::open ( const std::string &  Filename,
std::ios::openmode  Mode 
)
template<typename BT >
FrameBuffer< BT > * FrameCPP::Common::FrameBuffer< BT >::setbuf ( char_type S,
std::streamsize  N 
)
protectedvirtual

Routine to register if the caller has specified a buffer.

template<>
void FrameCPP::Common::FrameBuffer< std::filebuf >::UseMemoryMappedIO ( bool  Value)
template<>
void FrameCPP::Common::FrameBuffer< LDASTools::AL::filebuf >::UseMemoryMappedIO ( bool  Value)
template<typename BT >
void FrameCPP::Common::FrameBuffer< BT >::UseMemoryMappedIO ( bool  Value)

Friends And Related Function Documentation

template<typename BT >
friend class IStream
friend
template<typename BT >
friend class OStream
friend

Member Data Documentation

const FrameBufferInterface::buffer_size_type FrameCPP::Common::FrameBufferInterface::M_BUFFER_SIZE_DEFAULT = 256 * 1024
staticinherited

The default size for buffered input and output.

const buffer_size_type FrameCPP::Common::FrameBufferInterface::M_BUFFER_SIZE_SYSTEM = ~buffer_size_type( 0 )
staticinherited
filters_type FrameCPP::Common::FrameBufferInterface::m_filters
protectedinherited

Container holding all active filters.


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