|
RADLib
RADical C++ application framework
|
Stable-node doubly linked list for cases where node stability matters. More...
#include <RADDataStructures.h>
Classes | |
| class | const_iterator |
| Const forward iterator. More... | |
| class | iterator |
| Mutable bidirectional iterator. More... | |
Public Member Functions | |
| RADList ()=default | |
| Creates an empty list. More... | |
| RADList (std::initializer_list< T > values) | |
| Creates a list from initializer-list values. More... | |
| RADList (const RADList &other) | |
| Copies another list. More... | |
| RADList & | operator= (const RADList &other) |
| Replaces this list with a copy of other. More... | |
| RADList (RADList &&other) noexcept | |
| Moves another list by taking its node chain. More... | |
| RADList & | operator= (RADList &&other) noexcept |
| Replaces this list by taking other's node chain. More... | |
| ~RADList () | |
| Destroys all nodes. More... | |
| iterator | begin () noexcept |
| Returns iterator to first node. More... | |
| iterator | end () noexcept |
| Returns end iterator. More... | |
| const_iterator | begin () const noexcept |
| Returns const iterator to first node. More... | |
| const_iterator | end () const noexcept |
| Returns const end iterator. More... | |
| bool | empty () const noexcept |
| Returns true when no nodes are present. More... | |
| size_t | size () const noexcept |
| Returns number of nodes. More... | |
| T & | front () noexcept |
| Returns first element. More... | |
| const T & | front () const noexcept |
| Returns first element. More... | |
| T & | back () noexcept |
| Returns last element. More... | |
| const T & | back () const noexcept |
| Returns last element. More... | |
| template<typename... Args> | |
| T & | emplace_back (Args &&... args) |
| Constructs an element at the back and returns it. More... | |
| template<typename... Args> | |
| T & | emplace_front (Args &&... args) |
| Constructs an element at the front and returns it. More... | |
| void | push_back (const T &value) |
| Appends a copy at the back. More... | |
| void | push_back (T &&value) |
| Appends a moved value at the back. More... | |
| void | push_front (const T &value) |
| Prepends a copy at the front. More... | |
| void | push_front (T &&value) |
| Prepends a moved value at the front. More... | |
| void | pop_front () |
| Removes the first node. More... | |
| void | pop_back () |
| Removes the last node. More... | |
| iterator | erase (iterator it) |
| Erases the node at it and returns the following iterator. More... | |
| void | clear () noexcept |
| Removes all nodes. More... | |
Stable-node doubly linked list for cases where node stability matters.
|
default |
Creates an empty list.
|
inline |
Creates a list from initializer-list values.
|
inline |
Copies another list.
|
inlinenoexcept |
Moves another list by taking its node chain.
|
inline |
Destroys all nodes.
|
inlinenoexcept |
Returns last element.
|
inlinenoexcept |
Returns last element.
|
inlinenoexcept |
Returns const iterator to first node.
|
inlinenoexcept |
Returns iterator to first node.
|
inlinenoexcept |
Removes all nodes.
|
inline |
Constructs an element at the back and returns it.
|
inline |
Constructs an element at the front and returns it.
|
inlinenoexcept |
Returns true when no nodes are present.
|
inlinenoexcept |
Returns const end iterator.
|
inlinenoexcept |
Returns end iterator.
|
inline |
Erases the node at it and returns the following iterator.
|
inlinenoexcept |
Returns first element.
|
inlinenoexcept |
Returns first element.
|
inline |
Replaces this list with a copy of other.
|
inlinenoexcept |
Replaces this list by taking other's node chain.
|
inline |
Removes the last node.
|
inline |
Removes the first node.
|
inline |
Appends a copy at the back.
|
inline |
Appends a moved value at the back.
|
inline |
Prepends a copy at the front.
|
inline |
Prepends a moved value at the front.
|
inlinenoexcept |
Returns number of nodes.