#include <fifo_buffer.h>
Classes | |
| class | UnaryConditionIf |
Public Member Functions | |
| bool | empty (void) |
| FifoBuffer () | |
| ElementType | findFirstIf (UnaryConditionIf &condition_impl, bool erase_if_found=false) |
| void | notify (void) |
| ElementType | pop (void) |
| void | push (const ElementType &elem) |
| size_t | size (void) |
| void | waitForElement () |
| void | waitOnceForElement () |
| ~FifoBuffer () | |
Protected Member Functions | |
| void | notifyAll (void) |
| void | push_back (const ElementType &elem) |
| void | waitForNotify (void) |
Protected Attributes | |
| boost::condition_variable | m_buffer_condition |
| condition variable to signal changes in buffer size More... | |
| boost::mutex | m_condition_mutex |
| mutex to lock m_buffer_condition More... | |
| std::list< ElementType > | m_fifo_buffer |
| list of all elements of the fifo buffer More... | |
| MutexType | m_fifo_mutex |
| mutex to lock m_fifo_buffer More... | |
Class FifoBuffer implements a threadsafe fifo-buffer ("first in, first out").
Definition at line 66 of file fifo_buffer.h.
|
inline |
Constructor
Definition at line 73 of file fifo_buffer.h.
|
inline |
Destructor
Definition at line 78 of file fifo_buffer.h.
|
inline |
Returns true, if the fifo buffer is empty.
Definition at line 86 of file fifo_buffer.h.
|
inline |
Searches for an element in the fifo by a unary condition. Returns and optionally removes an element from the fifo buffer, if condition_impl.condition(ElementType &) returns true.
| [in] | condition_impl | condition (callback interface, returns true, if condition for an element is true, or false otherwise) |
| [in] | erase_if_found | if true, the element found will be erased (otherwise left untouched) |
Definition at line 173 of file fifo_buffer.h.
|
inline |
Signal a notification to interrupt a waiting waitForElement() call
Definition at line 151 of file fifo_buffer.h.
|
inlineprotected |
Notification after changes in fifo buffer size.
Definition at line 201 of file fifo_buffer.h.
|
inline |
Removes and returns the first element from the fifo buffer.
Definition at line 114 of file fifo_buffer.h.
|
inline |
Pushes an element to the end of the fifo buffer.
Definition at line 104 of file fifo_buffer.h.
|
inlineprotected |
Pushes an element to the end of the fifo buffer.
Definition at line 194 of file fifo_buffer.h.
|
inline |
Returns the number of elements in the fifo buffer.
Definition at line 95 of file fifo_buffer.h.
|
inline |
Waits until there's at least one element in the fifo buffer.
Definition at line 129 of file fifo_buffer.h.
|
inlineprotected |
Wait until notification signalled.
Definition at line 207 of file fifo_buffer.h.
|
inline |
Waits until there's at least one element in the fifo buffer, or a notification has been signalled.
Definition at line 140 of file fifo_buffer.h.
|
protected |
condition variable to signal changes in buffer size
Definition at line 220 of file fifo_buffer.h.
|
protected |
mutex to lock m_buffer_condition
Definition at line 219 of file fifo_buffer.h.
|
protected |
list of all elements of the fifo buffer
Definition at line 217 of file fifo_buffer.h.
|
protected |
mutex to lock m_fifo_buffer
Definition at line 218 of file fifo_buffer.h.