MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
RingBuffer.hpp File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Memory::FixedStorage< T, Capacity >
 Compile-time fixed-capacity storage using std::array. More...
 
struct  MayaFlux::Memory::DynamicStorage< T >
 Runtime-resizable storage using std::vector. More...
 
struct  MayaFlux::Memory::LockFreePolicy
 Lock-free SPSC (Single Producer Single Consumer) concurrency. More...
 
struct  MayaFlux::Memory::LockFreePolicy::State< T, Storage >
 
struct  MayaFlux::Memory::SingleThreadedPolicy
 Non-atomic single-threaded operation. More...
 
struct  MayaFlux::Memory::SingleThreadedPolicy::State< T, Storage >
 
struct  MayaFlux::Memory::QueueAccess
 FIFO queue semantics (oldest data first) More...
 
struct  MayaFlux::Memory::HistoryBufferAccess
 History buffer semantics (newest sample first) More...
 
class  MayaFlux::Memory::HistoryBuffer< T >
 History buffer for difference equations and recursive relations. More...
 
class  MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >
 Policy-driven unified circular buffer implementation. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Memory
 

Concepts

concept  MayaFlux::Memory::TriviallyCopyable
 Constraint for types that can be safely copied bitwise.
 

Typedefs

template<typename T , size_t Capacity>
using MayaFlux::Memory::LockFreeQueue = RingBuffer< T, FixedStorage< T, Capacity >, LockFreePolicy, QueueAccess >
 Type alias: Lock-free SPSC queue with fixed capacity.
 
template<typename T , size_t Capacity>
using MayaFlux::Memory::FixedQueue = RingBuffer< T, FixedStorage< T, Capacity >, SingleThreadedPolicy, QueueAccess >
 Type alias: Single-threaded FIFO queue with fixed capacity.
 
template<typename T >
using MayaFlux::Memory::DynamicQueue = RingBuffer< T, DynamicStorage< T >, SingleThreadedPolicy, QueueAccess >
 Type alias: Resizable FIFO queue (non-concurrent)