|
Recti 1.2.4
|
doubly linked node (that may also be a "head" a list) More...
#include <dllink.hpp>

Public Member Functions | |
| constexpr | Dllink (T dat) noexcept |
| Construct a new Dllink object. | |
| constexpr | Dllink ()=default |
| Copy construct a new Dllink object (deleted intentionally) | |
| ~Dllink ()=default | |
| Dllink (const Dllink &)=delete | |
| auto | operator= (const Dllink &) -> Dllink &=delete |
| constexpr | Dllink (Dllink &&) noexcept=default |
| constexpr auto | operator= (Dllink &&) noexcept -> Dllink &=delete |
| constexpr auto | lock () noexcept -> void |
| lock the node (and don't append it to any list) | |
| constexpr auto | is_locked () const noexcept -> bool |
| whether the node is locked | |
| constexpr auto | detach () noexcept -> void |
| detach from a list | |
Public Attributes | |
| Dllink * | next {this} |
| Dllink * | prev {this} |
| T | data {} |
doubly linked node (that may also be a "head" a list)
A Doubly-linked List class. This class simply contains a link of node's. By adding a "head" node (sentinel), deleting a node is extremely fast (see "Introduction to Algorithm"). This class does not keep the length information as it is not necessary for the FM algorithm. This saves memory and run-time to update the length information. Note that this class does not own the list node. They are supplied by the caller in order to better reuse the nodes.
| T | The data type stored in each node. |
Construct a new Dllink object.
| [in] | dat | the data |
Copy construct a new Dllink object (deleted intentionally)
|
inlineconstexprnoexcept |
detach from a list
|
inlineconstexprnoexcept |
whether the node is locked
|
inlineconstexprnoexcept |
lock the node (and don't append it to any list)
|
constexprdeletenoexcept |
| T Dllink< T >::data {} |
data