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

◆ pop_singlethread()

template<typename T , typename StoragePolicy , typename ConcurrencyPolicy = SingleThreadedPolicy, typename AccessPattern = QueueAccess>
std::optional< T > MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::pop_singlethread ( )
inlineprivatenoexcept

Definition at line 1083 of file RingBuffer.hpp.

1084 {
1085 if (m_state.read_index == m_state.write_index) {
1086 return std::nullopt;
1087 }
1088
1089 T value = m_storage.buffer[m_state.read_index];
1090 m_state.read_index = State::increment(m_state.read_index, m_storage.capacity());
1091
1092 return value;
1093 }

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

Referenced by MayaFlux::Memory::RingBuffer< T, StoragePolicy, ConcurrencyPolicy, AccessPattern >::pop().

+ Here is the caller graph for this function: