commonlib
IDirectArraySourceBuffer< T, Locking > Class Template Referenceabstract

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

#include <direct_array_buffer.h>

Inheritance diagram for IDirectArraySourceBuffer< T, Locking >:
ISourceBuffer< 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 getReadPos ()=0
 Function returns current read position. More...
 
size_t readSamples (T *samples, size_t samplesCount, bool incrementPosition=true) override
 Function reads the samples from buffer. More...
 
virtual size_t readSamplesAt (T *samples, size_t samplesCount, bool incrementPosition=true, size_t readOffset=0)
 Function reads the samples from buffer. More...
 
- Public Member Functions inherited from ISourceBuffer< T >
virtual std::recursive_mutex & getLock ()=0
 Function return locking object. More...
 
virtual size_t getSize ()=0
 Function returns current buffer size in samples. More...
 
virtual void incrementReadPosition (size_t pos)=0
 Function increments read position for N samples. More...
 

Protected Member Functions

virtual size_t read (T *samples, size_t samplesCount, size_t pos)
 Implements read from buffer. More...
 
virtual size_t read (T *samples, size_t samplesCount)
 Function read from buffer from current location. More...
 

Detailed Description

template<typename T, typename Locking = UseLock>
class IDirectArraySourceBuffer< T, Locking >

Interface to array-backed source buffers.

Member Function Documentation

◆ getCapacity()

template<typename T, typename Locking = UseLock>
virtual size_t IDirectArraySourceBuffer< T, Locking >::getCapacity ( ) const
pure virtual

Function returns buffer capacity in samples.

Returns
Capacity in samples.

Implemented in FifoBufferBase< T >.

◆ getData()

template<typename T, typename Locking = UseLock>
virtual T* IDirectArraySourceBuffer< T, Locking >::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 >.

◆ getReadPos()

template<typename T, typename Locking = UseLock>
virtual size_t IDirectArraySourceBuffer< T, Locking >::getReadPos ( )
pure virtual

Function returns current read position.

Returns
Current read position.

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

◆ read() [1/2]

template<typename T, typename Locking = UseLock>
virtual size_t IDirectArraySourceBuffer< T, Locking >::read ( T *  samples,
size_t  samplesCount,
size_t  pos 
)
inlineprotectedvirtual

Implements read from buffer.

Parameters
samplesa pointer to the first sample.
samplesCounta number of samples to be read.
posread location.
Returns
Number of read samples.

Reimplemented in DiskBuffer< T >.

◆ read() [2/2]

template<typename T, typename Locking = UseLock>
virtual size_t IDirectArraySourceBuffer< T, Locking >::read ( T *  samples,
size_t  samplesCount 
)
inlineprotectedvirtual

Function read from buffer from current location.

Parameters
samplesa pointer to the first sample.
samplesCounta number of samples to be read.
Returns
Number of read samples.

◆ readSamples()

template<typename T, typename Locking = UseLock>
size_t IDirectArraySourceBuffer< T, Locking >::readSamples ( T *  samples,
size_t  samplesCount,
bool  incrementPosition = true 
)
inlineoverridevirtual

Function reads the samples from buffer.

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

Implements ISourceBuffer< T >.

◆ readSamplesAt()

template<typename T, typename Locking = UseLock>
virtual size_t IDirectArraySourceBuffer< T, Locking >::readSamplesAt ( T *  samples,
size_t  samplesCount,
bool  incrementPosition = true,
size_t  readOffset = 0 
)
inlinevirtual

Function reads the samples from buffer.

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

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