|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
Classes | |
| struct | DynamicStorage |
| Runtime-resizable storage using std::vector. More... | |
| struct | FixedStorage |
| Compile-time fixed-capacity storage using std::array. More... | |
| class | HistoryBuffer |
| History buffer for difference equations and recursive relations. More... | |
| struct | HistoryBufferAccess |
| History buffer semantics (newest sample first) More... | |
| struct | LockFreePolicy |
| Lock-free SPSC (Single Producer Single Consumer) concurrency. More... | |
| struct | MPSCPolicy |
| Lock-free MPSC (Multi-Producer Single-Consumer) concurrency. More... | |
| struct | QueueAccess |
| FIFO queue semantics (oldest data first) More... | |
| class | RingBuffer |
| Policy-driven unified circular buffer implementation. More... | |
| class | Seqlock |
| Single-writer multiple-reader sequence lock for fixed-size data regions. More... | |
| class | SeqlockArray |
| Indexed collection of independent, equal-ranked Seqlock instances. More... | |
| class | SeqlockWriteGuard |
| RAII guard that brackets a Seqlock write region. More... | |
| struct | SingleThreadedPolicy |
| Non-atomic single-threaded operation. More... | |
Concepts | |
| concept | TriviallyCopyable |
| Constraint for types that can be safely copied bitwise. | |
Typedefs | |
| template<typename T > | |
| using | DynamicQueue = RingBuffer< T, DynamicStorage< T >, SingleThreadedPolicy, QueueAccess > |
| Type alias: Resizable FIFO queue (non-concurrent) | |
| template<typename T , size_t Capacity> | |
| using | FixedQueue = RingBuffer< T, FixedStorage< T, Capacity >, SingleThreadedPolicy, QueueAccess > |
| Type alias: Single-threaded FIFO queue with fixed capacity. | |
| template<typename T , size_t Capacity> | |
| using | LockFreeQueue = RingBuffer< T, FixedStorage< T, Capacity >, LockFreePolicy, QueueAccess > |
| Type alias: Lock-free SPSC queue with fixed capacity. | |
| template<typename T , size_t Capacity> | |
| using | MPSCQueue = RingBuffer< T, FixedStorage< T, Capacity >, MPSCPolicy, QueueAccess > |
| Type alias: Lock-free MPSC queue with fixed capacity. | |
Functions | |
| template<std::invocable Fn> | |
| auto | seqlock_read (const Seqlock &lock, uint32_t max_attempts, Fn &&fn) -> std::optional< std::invoke_result_t< Fn > > |
| Invoke a read functor under a Seqlock with a bounded retry count. | |
| template<std::invocable Fn> requires std::is_void_v<std::invoke_result_t<Fn>> | |
| bool | seqlock_read_void (const Seqlock &lock, uint32_t max_attempts, Fn &&fn) |
| Invoke a void read functor under a Seqlock with a bounded retry count. | |
Variables | |
| template<typename Policy > | |
| static constexpr bool | policy_is_mpsc = false |
| Helper to detect if a policy is MPSC. | |
| template<typename Policy > | |
| static constexpr bool | policy_is_mpsc< Policy > = Policy::is_mpsc |
| Specialization for MPSCPolicy. | |