ldas-tools-framecpp  2.6.2
 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::BaseMemoryBufferT< BT > Class Template Referenceabstract

Buffer appropriate for caching frame data. More...

#include <BaseMemoryBuffer.hh>

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

Public Types

typedef BT buffer_type
 
typedef buffer_type::char_type char_type
 
typedef buffer_type::pos_type pos_type
 
typedef buffer_type::pos_type size_type
 
typedef INT_4U buffer_size_type
 

Public Member Functions

 BaseMemoryBufferT ()
 Default constructor. More...
 
virtual ~BaseMemoryBufferT ()
 Destructor. More...
 
bool FilterInternally () const
 Returns true if filtering happens internally; false otherwise. More...
 
bool AutoDelete () const
 
void AutoDelete (bool Value)
 
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...
 
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 void buffer ()
 Initialization of the buffer. 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::BaseMemoryBufferT< BT >

Buffer appropriate for caching frame data.

If the buffer is for input, then the buffer needs to be initialized with the contents. The initialization needs to be done as via the call to the str( ) method before the buffer is associated with an IFrameStream object.

Template Parameters
BTInternal storage type to hold the buffer contents.
char buf[256];
BaseMemoryBuffer imb( );
imb.pubsetbuf( &(buf[0], sizeof( buf ) );
IFrameStream ifs_mem( false, &imb );

Member Typedef Documentation

template<typename BT >
typedef BT FrameCPP::Common::BaseMemoryBufferT< BT >::buffer_type
template<typename BT >
typedef buffer_type::char_type FrameCPP::Common::BaseMemoryBufferT< BT >::char_type

Type specifying the container holding the active filters.

template<typename BT >
typedef buffer_type::pos_type FrameCPP::Common::BaseMemoryBufferT< BT >::pos_type
template<typename BT >
typedef buffer_type::pos_type FrameCPP::Common::BaseMemoryBufferT< BT >::size_type

Constructor & Destructor Documentation

template<typename BT >
FrameCPP::Common::BaseMemoryBufferT< BT >::BaseMemoryBufferT ( )

Default constructor.

Parameters
[in]SeedMethod use for input buffers to move data into the new instance.
[in]ParentAutoDeleteTrue if dynamic memory associated with the temporary buffer should be release once this object goes out of scope.
Returns
New class instance.

The default constructor will initialize all the parts used in the general case.

template<typename BT >
FrameCPP::Common::BaseMemoryBufferT< BT >::~BaseMemoryBufferT ( )
virtual

Destructor.

Be careful to release all the resources that were created for this object.

Member Function Documentation

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

Initialization of the buffer.

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<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
void FrameCPP::Common::FrameBufferInterface::FilterAdd ( FrameCPP::Common::StreamFilter Filter)
virtualinherited

Adds a filter to the stream.

Parameters
[in]FilterFilter function to add to the stream

Reimplemented in FrameCPP::Common::FrameBuffer< BT >.

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

Returns true if filtering happens internally; false otherwise.

Filtering currently is not optimized at the this layer so this method will always return false.

Implements FrameCPP::Common::FrameBufferInterface.

void FrameCPP::Common::FrameBufferInterface::FilterRemove ( FrameCPP::Common::StreamFilter Filter)
virtualinherited

Removes a filter from the stream.

Parameters
[in]FilterFilter function to remove from the stream

Reimplemented in FrameCPP::Common::FrameBuffer< BT >.

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 files: