commonlib
IDirectArrayTargetBuffer< T > Class Template Referenceabstract

Interface to array-backed target buffers. More...

#include <direct_array_buffer.h>

Inheritance diagram for IDirectArrayTargetBuffer< T >:
ITargetBuffer< T > BaseArrayDescImpl< T, IDirectArrayTargetBuffer< T > > FifoBufferBase< T > ArrayBufferTargetDesc< T > DiskBuffer< T > FifoBuffer< T > ArrayBufferTarget< T >

Public Member Functions

virtual T * getData () const =0
 Function returns pointer to the internal buffer. More...
 
virtual size_t getCapacity () const =0
 Function returns buffer capacity in samples. More...
 
virtual size_t getWritePos ()=0
 Function returns current write position. More...
 
size_t writeSamples (const T *samples, size_t samplesCount, bool incrementPosition=true) override
 Function pushes the samples into buffer. More...
 
- Public Member Functions inherited from ITargetBuffer< T >
virtual std::recursive_mutex & getLock ()=0
 Function return locking object. More...
 
virtual size_t getRemainingSize ()=0
 Function returns remaining size in samples. More...
 
virtual void incrementWritePosition (size_t pos)=0
 Function increments write position for N samples. More...
 

Protected Member Functions

virtual size_t write (const T *samples, size_t samplesCount, size_t pos)
 Implements write into buffer. More...
 
virtual size_t write (const T *samples, size_t samplesCount)
 Implements write into buffer to current location. More...
 

Detailed Description

template<typename T>
class IDirectArrayTargetBuffer< T >

Interface to array-backed target buffers.

Member Function Documentation

◆ getCapacity()

template<typename T>
virtual size_t IDirectArrayTargetBuffer< T >::getCapacity ( ) const
pure virtual

Function returns buffer capacity in samples.

Returns
Capacity in samples.

Implemented in FifoBufferBase< T >.

◆ getData()

template<typename T>
virtual T* IDirectArrayTargetBuffer< T >::getData ( ) const
pure virtual

Function returns pointer to the internal buffer.

Returns
Pointer to the first sample in the buffer.

Implemented in DiskBuffer< T >, and FifoBuffer< T >.

◆ getWritePos()

template<typename T>
virtual size_t IDirectArrayTargetBuffer< T >::getWritePos ( )
pure virtual

Function returns current write position.

Returns
Current write position.

Implemented in ArrayBufferTargetDesc< T >, and FifoBufferBase< T >.

◆ write() [1/2]

template<typename T>
virtual size_t IDirectArrayTargetBuffer< T >::write ( const T *  samples,
size_t  samplesCount,
size_t  pos 
)
inlineprotectedvirtual

Implements write into buffer.

Parameters
samplesa pointer to the first sample.
samplesCounta number of samples to be written.
poswrite location.
Returns
Samples written.

Reimplemented in DiskBuffer< T >.

◆ write() [2/2]

template<typename T>
virtual size_t IDirectArrayTargetBuffer< T >::write ( const T *  samples,
size_t  samplesCount 
)
inlineprotectedvirtual

Implements write into buffer to current location.

Parameters
samplesa pointer to the first sample.
samplesCounta number of samples to be written.
Returns
Samples written.

◆ writeSamples()

template<typename T>
size_t IDirectArrayTargetBuffer< T >::writeSamples ( const T *  samples,
size_t  samplesCount,
bool  incrementPosition = true 
)
inlineoverridevirtual

Function pushes the samples into buffer.

Parameters
samplesa pointer to the first sample
samplesCounta number of samples to be added
incrementPositionan option if change position
Returns
number of added samples

Implements ITargetBuffer< T >.


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