Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::core::ListImpl Class Reference

Intrusive doubly-linked list implementation class. Handles List infrastructure independent of templated type for List. Ownership handling is left to the main List class. More...

#include <list_impl.h>

Inheritance diagram for roc::core::ListImpl:
Collaboration diagram for roc::core::ListImpl:

Public Member Functions

size_t size () const
 Get number of nodes in list. More...
 
bool contains (const ListData *node) const
 Check if node belongs to list. More...
 
ListDatahead ()
 Get list head (non-node node). More...
 
ListDatafront () const
 Get first list node. More...
 
ListDataback () const
 Get last list node. More...
 
ListDatanextof (ListData *node) const
 Get list node next to given one. More...
 
ListDataprevof (ListData *node) const
 Get list node previous to given one. More...
 
ListDatapop_front ()
 Remove first node and return. More...
 
ListDatapop_back ()
 Remove last node and return. More...
 
void insert (ListData *node, ListData *before)
 Insert node into list. More...
 
void remove (ListData *node)
 Remove node from list. More...
 

Detailed Description

Intrusive doubly-linked list implementation class. Handles List infrastructure independent of templated type for List. Ownership handling is left to the main List class.

Definition at line 25 of file list_impl.h.

Member Function Documentation

◆ back()

ListData* roc::core::ListImpl::back ( ) const

Get last list node.

◆ contains()

bool roc::core::ListImpl::contains ( const ListData node) const

Check if node belongs to list.

◆ front()

ListData* roc::core::ListImpl::front ( ) const

Get first list node.

◆ head()

ListData* roc::core::ListImpl::head ( )

Get list head (non-node node).

◆ insert()

void roc::core::ListImpl::insert ( ListData node,
ListData before 
)

Insert node into list.

◆ nextof()

ListData* roc::core::ListImpl::nextof ( ListData node) const

Get list node next to given one.

◆ pop_back()

ListData* roc::core::ListImpl::pop_back ( )

Remove last node and return.

◆ pop_front()

ListData* roc::core::ListImpl::pop_front ( )

Remove first node and return.

◆ prevof()

ListData* roc::core::ListImpl::prevof ( ListData node) const

Get list node previous to given one.

◆ remove()

void roc::core::ListImpl::remove ( ListData node)

Remove node from list.

◆ size()

size_t roc::core::ListImpl::size ( ) const

Get number of nodes in list.


The documentation for this class was generated from the following file: