AudioDataLib
A C++ library of classes supporting a variety of audio-data tasks.
Loading...
Searching...
No Matches
AudioDataLib::WriteOnlyBufferStream Class Reference

This is stream that can be used to write bytes to any location in memory. More...

#include <ByteStream.h>

Inheritance diagram for AudioDataLib::WriteOnlyBufferStream:
AudioDataLib::ByteStream

Public Member Functions

 WriteOnlyBufferStream (uint8_t *buffer, uint64_t bufferSize)
 
virtual ~WriteOnlyBufferStream ()
 
virtual uint64_t WriteBytesToStream (const uint8_t *buffer, uint64_t bufferSize) override
 
virtual uint64_t ReadBytesFromStream (uint8_t *buffer, uint64_t bufferSize) override
 
virtual uint64_t GetSize () const override
 
virtual bool CanRead () override
 
virtual bool CanWrite () override
 
uint64_t GetWriteOffset () const
 
bool SetWriteOffset (uint64_t readOffset)
 
const uint8_t * GetBuffer () const
 
void Reset ()
 
- Public Member Functions inherited from AudioDataLib::ByteStream
 ByteStream ()
 
virtual ~ByteStream ()
 
virtual uint64_t PeekBytesFromStream (uint8_t *buffer, uint64_t bufferSize)
 
template<typename T >
bool ReadType (T *value)
 
template<typename T >
bool WriteType (const T *value)
 

Protected Attributes

uint8_t * writeOnlyBuffer
 
uint64_t writeOnlyBufferSize
 
uint64_t writeOffset
 

Detailed Description

This is stream that can be used to write bytes to any location in memory.

Constructor & Destructor Documentation

◆ WriteOnlyBufferStream()

WriteOnlyBufferStream::WriteOnlyBufferStream ( uint8_t * buffer,
uint64_t bufferSize )

◆ ~WriteOnlyBufferStream()

WriteOnlyBufferStream::~WriteOnlyBufferStream ( )
virtual

Member Function Documentation

◆ CanRead()

bool WriteOnlyBufferStream::CanRead ( )
overridevirtual

Indicate whether there is data available to be read from the stream.

Implements AudioDataLib::ByteStream.

◆ CanWrite()

bool WriteOnlyBufferStream::CanWrite ( )
overridevirtual

Indicate whether it is possible to write additional data to the stream.

Implements AudioDataLib::ByteStream.

◆ GetBuffer()

const uint8_t * AudioDataLib::WriteOnlyBufferStream::GetBuffer ( ) const
inline

◆ GetSize()

uint64_t WriteOnlyBufferStream::GetSize ( ) const
overridevirtual

Return the amount of data (in bytes) currently stored in the stream.

Implements AudioDataLib::ByteStream.

◆ GetWriteOffset()

uint64_t AudioDataLib::WriteOnlyBufferStream::GetWriteOffset ( ) const
inline

◆ ReadBytesFromStream()

uint64_t WriteOnlyBufferStream::ReadBytesFromStream ( uint8_t * buffer,
uint64_t bufferSize )
overridevirtual

Read from this stream into the given buffer.

Parameters
[out]bufferThis is a pointer to an array where bytes read from the stream will be written.
[in]bufferSizeThis is the size in bytes of the given array.
Returns
The number of bytes actually read from the stream and written to the given buffer is returned.

Implements AudioDataLib::ByteStream.

◆ Reset()

void WriteOnlyBufferStream::Reset ( )

◆ SetWriteOffset()

bool AudioDataLib::WriteOnlyBufferStream::SetWriteOffset ( uint64_t readOffset)

◆ WriteBytesToStream()

uint64_t WriteOnlyBufferStream::WriteBytesToStream ( const uint8_t * buffer,
uint64_t bufferSize )
overridevirtual

Write the given buffer to this stream.

Parameters
[in]bufferThis is a pointer to the array of bytes to write to the stream.
[in]bufferSizeThis is the size of the given array in bytes.
Returns
The number of bytes actually written to the stream is returned.

Implements AudioDataLib::ByteStream.

Member Data Documentation

◆ writeOffset

uint64_t AudioDataLib::WriteOnlyBufferStream::writeOffset
protected

◆ writeOnlyBuffer

uint8_t* AudioDataLib::WriteOnlyBufferStream::writeOnlyBuffer
protected

◆ writeOnlyBufferSize

uint64_t AudioDataLib::WriteOnlyBufferStream::writeOnlyBufferSize
protected

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