template<typename T , typename StoragePolicy , typename ConcurrencyPolicy = SingleThreadedPolicy, typename AccessPattern = QueueAccess>
Clear buffer contents and reset indices.
Real-time Safe: No allocations, just resets atomic indices.
Definition at line 1119 of file RingBuffer.hpp.
1120 {
1122 m_state.claim_index.store(0, std::memory_order_release);
1123 m_state.read_index.store(0, std::memory_order_release);
1124 for (
auto& f :
m_state.ready_flags)
1125 f.
store(false,
std::memory_order_release);
1127 m_state.write_index.store(0, std::memory_order_release);
1128 m_state.read_index.store(0, std::memory_order_release);
1129 } else {
1132 }
1133 }
static constexpr bool is_lock_free
static constexpr bool is_mpsc
std::shared_ptr< T > store(std::shared_ptr< T > obj)
Transfer ownership of an existing object to the persistent store for process lifetime.
References MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::is_lock_free, MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::is_mpsc, and MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::m_state.