ldas-tools-framecpp  2.7.0
Classes | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
FrameCPP::Common::MemoryBufferT< BT > Class Template Referenceabstract

Buffer appropriate for caching frame data. More...

#include <MemoryBuffer.hh>

Inherits FrameCPP::Common::FrameBufferInterface, and stringbuf.

Classes

class  BufferSeeder
 Seed an input buffer for MemoryBufferT from buffers. More...
 
class  Seeder
 Seed an input buffer for MemoryBufferT. More...
 

Public Member Functions

 MemoryBufferT (std::ios::openmode Mode, const BT &Source, bool ParentAutoDelete=true)
 Default constructor. More...
 
 MemoryBufferT (std::ios::openmode Mode, bool ParentAutoDelete=true)
 Default constructor. More...
 
 MemoryBufferT (Seeder &Seed, bool ParentAutoDelete=true)
 Default constructor. More...
 
virtual ~MemoryBufferT ()
 Destructor. More...
 
bool FilterInternally () const
 Returns true if filtering happens internally; false otherwise. More...
 
 MemoryBufferT (std::ios::openmode Mode, const BT &Source, bool ParentAutoDelete=true)
 Default constructor. More...
 
 MemoryBufferT (std::ios::openmode Mode, bool ParentAutoDelete=true)
 Default constructor. More...
 
 MemoryBufferT (Seeder &Seed, bool ParentAutoDelete=true)
 Default constructor. More...
 
virtual ~MemoryBufferT ()
 Destructor.
 
bool FilterInternally () const
 Returns true if filtering happens internally; false otherwise.
 
virtual void FilterAdd (FrameCPP::Common::StreamFilter *Filter)
 Adds a filter to the stream. 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...
 
virtual void FilterRemove (FrameCPP::Common::StreamFilter *Filter)
 Removes a filter from the stream. More...
 
const std::string & BufferId () const
 Retrieve the string identification of the buffer. More...
 
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.
 

Protected Types

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

Protected Member Functions

virtual MemoryBufferTsetbuf (char_type *S, std::streamsize N)
 Routine to register if the caller has specified a buffer.
 
virtual void buffer ()
 Initialization of the buffer.
 
virtual MemoryBufferTsetbuf (char_type *S, std::streamsize N)
 Routine to register if the caller has specified a buffer.
 
virtual void buffer ()
 Initialization of the buffer.
 

Protected Attributes

filters_type m_filters
 Container holding all active filters.
 

Detailed Description

template<typename BT = std::stringbuf>
class FrameCPP::Common::MemoryBufferT< 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.
MemoryBuffer imb( std::ios:in);
imb.str( frame_file_data );
IFrameStream ifs_mem( false, &imb );

Constructor & Destructor Documentation

◆ MemoryBufferT() [1/6]

template<typename BT = std::stringbuf>
FrameCPP::Common::MemoryBufferT< BT >::MemoryBufferT ( std::ios::openmode  Mode,
const BT &  Source,
bool  ParentAutoDelete = true 
)

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.

◆ MemoryBufferT() [2/6]

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

Default constructor.

Parameters
[in]ModeSpecify the I/O mode of the buffer.
[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.

◆ MemoryBufferT() [3/6]

template<typename BT >
FrameCPP::Common::MemoryBufferT< BT >::MemoryBufferT ( Seeder Seed,
bool  ParentAutoDelete = true 
)

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.

◆ ~MemoryBufferT()

template<typename BT >
FrameCPP::Common::MemoryBufferT< BT >::~MemoryBufferT
virtual

Destructor.

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

◆ MemoryBufferT() [4/6]

template<typename BT = std::stringbuf>
FrameCPP::Common::MemoryBufferT< BT >::MemoryBufferT ( std::ios::openmode  Mode,
const BT &  Source,
bool  ParentAutoDelete = true 
)

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.

◆ MemoryBufferT() [5/6]

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

Default constructor.

Parameters
[in]ModeSpecify the I/O mode of the buffer.
[in]ParentAutoDeleteTrue if dynamic memory associated with the temporary buffer should be release once this object goes out of scope.
Returns
New class instance.

◆ MemoryBufferT() [6/6]

template<typename BT = std::stringbuf>
FrameCPP::Common::MemoryBufferT< BT >::MemoryBufferT ( Seeder Seed,
bool  ParentAutoDelete = true 
)

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.

Member Function Documentation

◆ BufferId() [1/2]

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

Retrieve the string identification of the buffer.

Returns
An identifier associated with the open buffer.

◆ BufferId() [2/2]

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

Retrieve the string identification of the buffer.

Returns
An identifier associated with the open buffer.

◆ FilterAdd() [1/2]

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

◆ FilterAdd() [2/2]

virtual 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

◆ FilterInternally()

template<typename BT >
bool FrameCPP::Common::MemoryBufferT< BT >::FilterInternally

Returns true if filtering happens internally; false otherwise.

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

◆ FilterRemove() [1/2]

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

◆ FilterRemove() [2/2]

virtual 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

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