Memory manager in a ring buffer format.
More...
#include <RingBuffer.hpp>
|
| RingBuffer (const int capacity) noexcept |
| Constructor.
|
|
| ~RingBuffer () noexcept |
| Destructor.
|
|
int | write (float *data, const int count) noexcept |
| Write data to ring buffer.
|
|
int | read (float *data, int count) noexcept |
| Read data from buffer.
|
|
float * | direct_read_pointer (const int count) noexcept |
| Read the ring buffer.
|
|
int | available_bytes () const noexcept |
| Available bytes left in the ring buffer.
|
|
void | set_volume (const float volume) noexcept |
| Sets audio volume of the buffer.
|
|
float | get_volume () const noexcept |
| Gets current buffer volume.
|
|
Memory manager in a ring buffer format.
Definition at line 18 of file RingBuffer.hpp.
◆ RingBuffer() [1/4]
galaxy::mem::RingBuffer::RingBuffer |
( |
const int | capacity | ) |
|
|
noexcept |
Constructor.
- Parameters
-
capacity | Usually you want 1 second of audio reserved. |
Definition at line 26 of file RingBuffer.cpp.
◆ ~RingBuffer()
galaxy::mem::RingBuffer::~RingBuffer |
( |
| ) |
|
|
noexcept |
◆ RingBuffer() [2/4]
galaxy::mem::RingBuffer::RingBuffer |
( |
| ) |
|
|
privatedelete |
◆ RingBuffer() [3/4]
galaxy::mem::RingBuffer::RingBuffer |
( |
const RingBuffer & | | ) |
|
|
privatedelete |
◆ RingBuffer() [4/4]
galaxy::mem::RingBuffer::RingBuffer |
( |
RingBuffer && | | ) |
|
|
privatedelete |
◆ write()
int galaxy::mem::RingBuffer::write |
( |
float * | data, |
|
|
const int | count ) |
|
nodiscardnoexcept |
Write data to ring buffer.
- Parameters
-
data | Pointer to beginning of section to write from. |
count | Amount of data to write. |
- Returns
- Updated write index.
Definition at line 41 of file RingBuffer.cpp.
◆ read()
int galaxy::mem::RingBuffer::read |
( |
float * | data, |
|
|
int | count ) |
|
nodiscardnoexcept |
Read data from buffer.
- Parameters
-
data | Buffer to read into. |
count | Amount of data to write. |
- Returns
- Updated read index.
Definition at line 54 of file RingBuffer.cpp.
◆ direct_read_pointer()
float * galaxy::mem::RingBuffer::direct_read_pointer |
( |
const int | count | ) |
|
|
nodiscardnoexcept |
Read the ring buffer.
- Parameters
-
count | Amount of data to read from internal buffer. |
- Returns
- Section of data read.
Definition at line 67 of file RingBuffer.cpp.
◆ available_bytes()
int galaxy::mem::RingBuffer::available_bytes |
( |
| ) |
const |
|
nodiscardnoexcept |
Available bytes left in the ring buffer.
- Returns
- Amount of space left in bytes.
Definition at line 74 of file RingBuffer.cpp.
◆ set_volume()
void galaxy::mem::RingBuffer::set_volume |
( |
const float | volume | ) |
|
|
noexcept |
Sets audio volume of the buffer.
- Parameters
-
Definition at line 79 of file RingBuffer.cpp.
◆ get_volume()
float galaxy::mem::RingBuffer::get_volume |
( |
| ) |
const |
|
nodiscardnoexcept |
Gets current buffer volume.
- Returns
- Float from 0 to 1.
Definition at line 87 of file RingBuffer.cpp.
◆ operator=() [1/2]
Copy assignment operator.
◆ operator=() [2/2]
Move assignment operator.
◆ m_buffer
float* galaxy::mem::RingBuffer::m_buffer |
|
private |
◆ m_read_index
int galaxy::mem::RingBuffer::m_read_index |
|
private |
Current index for reading from buffer.
Definition at line 123 of file RingBuffer.hpp.
◆ m_write_index
int galaxy::mem::RingBuffer::m_write_index |
|
private |
◆ m_capacity
int galaxy::mem::RingBuffer::m_capacity |
|
private |
Amount of data buffer can hold in total.
Definition at line 133 of file RingBuffer.hpp.
◆ m_volume
float galaxy::mem::RingBuffer::m_volume |
|
private |
The documentation for this class was generated from the following files: