![]() |
Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Intrusive doubly-linked list. More...
#include <roc_core/list.h>

Public Types | |
| typedef OwnershipPolicy< T >::Pointer | Pointer |
| Pointer type. | |
Public Member Functions | |
| List () | |
| Initialize empty list. | |
| ~List () | |
| Release ownership of containing objects. | |
| size_t | size () const |
| Get number of elements in list. | |
| bool | is_empty () const |
| Check if size is zero. | |
| bool | contains (const T &elem) |
| Check if element belongs to list. | |
| Pointer | front () const |
| Get first list element. | |
| Pointer | back () const |
| Get last list element. | |
| Pointer | nextof (T &elem) const |
| Get list element next to given one. | |
| Pointer | prevof (T &elem) const |
| Get list element previous to given one. | |
| void | push_front (T &elem) |
| Prepend element to list. | |
| void | push_back (T &elem) |
| Append element to list. | |
| void | pop_front () |
| Pop first element from list. | |
| void | pop_back () |
| Pop last element from list. | |
| void | insert_before (T &elem, T &before) |
| Insert element into list. | |
| void | insert_after (T &elem, T &after) |
| Insert element into list. | |
| void | remove (T &elem) |
| Remove element from list. | |
Intrusive doubly-linked list.
Does not perform allocations. Provides O(1) size check, membership check, insertion, and removal.
| T | defines object type, it must inherit ListNode. |
| OwnershipPolicy | defines ownership policy which is used to acquire an element ownership when it's added to the list and release ownership when it's removed from the list. |
| Node | defines base class of list nodes. It is needed if ListNode is used with non-default tag. |
| typedef OwnershipPolicy<T>::Pointer roc::core::List< T, OwnershipPolicy, Node >::Pointer |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |