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

◆ reset()

template<typename T , typename StoragePolicy , typename ConcurrencyPolicy = SingleThreadedPolicy, typename AccessPattern = QueueAccess>
void MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::reset ( )
inlinenoexcept

Clear buffer contents and reset indices.

Real-time Safe: No allocations, just resets atomic indices.

Definition at line 1017 of file RingBuffer.hpp.

1018 {
1019 if constexpr (is_lock_free) {
1020 m_state.write_index.store(0, std::memory_order_release);
1021 m_state.read_index.store(0, std::memory_order_release);
1022 } else {
1023 m_state.write_index = 0;
1024 m_state.read_index = 0;
1025 }
1026 }
static constexpr bool is_lock_free

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