MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ operator[]()

template<typename T , typename StoragePolicy , typename ConcurrencyPolicy = SingleThreadedPolicy, typename AccessPattern = QueueAccess>
const_reference MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::operator[] ( size_t  index) const
inline

Access element by index (delay line style)

Parameters
indexDistance from newest element (0 = newest)
Returns
Reference to element

Only available for SingleThreadedPolicy (HistoryBufferAccess). Provides array-like access where [0] is newest sample.

Definition at line 800 of file RingBuffer.hpp.

802 {
803 const size_t cap = m_storage.capacity();
804 size_t actual_idx = (m_state.write_index + cap - index) % cap;
805 return m_storage.buffer[actual_idx];
806 }

References MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::m_state, and MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::m_storage.