TwiceAsNice
2019-02-18
|
Threadsafe ringbuffer with blocking read. More...
#include <RingBuffer.hh>
Public Types | |
typedef boost::circular_buffer< T > | container_type |
typedef container_type::size_type | size_type |
typedef container_type::value_type | value_type |
typedef boost::circular_buffer< T > | container_type |
typedef container_type::size_type | size_type |
typedef container_type::value_type | value_type |
Public Member Functions | |
RingBuffer (size_type _capacity) | |
void | pushAndNotify (const value_type &item) |
value_type & | popAndBlock (bool &_overrun=bool()) |
std::vector< T > | popAllAndBlock (bool &_overrun=bool()) |
void | waitUntilEmpty () |
void | terminate () |
short | isTerminated () |
bool | empty () const |
bool | full () const |
bool | overrun () const |
size_t | left () const |
RingBuffer (size_type _capacity) | |
void | pushAndNotify (const value_type &item) |
value_type & | popAndBlock (bool &_overrun=bool()) |
std::vector< T > | popAllAndBlock (bool &_overrun=bool()) |
void | waitUntilEmpty () |
void | terminate () |
short | isTerminated () |
bool | empty () const |
bool | full () const |
bool | overrun () const |
size_t | left () const |
Private Member Functions | |
RingBuffer (const RingBuffer &) | |
RingBuffer & | operator= (const RingBuffer &) |
RingBuffer (const RingBuffer &) | |
RingBuffer & | operator= (const RingBuffer &) |
Private Attributes | |
Nice::Atomic< size_type > | m_unread |
bool | m_overrun |
size_type | m_capacity |
container_type | m_container |
Nice::Monitor | m_monitor |
Nice::Atomic< bool > | m_terminated |
Threadsafe ringbuffer with blocking read.
typedef boost::circular_buffer<T> Nice::RingBuffer< T >::container_type |
typedef boost::circular_buffer<T> Nice::RingBuffer< T >::container_type |
typedef container_type::size_type Nice::RingBuffer< T >::size_type |
typedef container_type::size_type Nice::RingBuffer< T >::size_type |
typedef container_type::value_type Nice::RingBuffer< T >::value_type |
typedef container_type::value_type Nice::RingBuffer< T >::value_type |
|
inlineexplicit |
|
private |
|
inlineexplicit |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |