Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Intrusive single linked list with optional ownership.
This helper template allows to attach a number of tightly integrated elements with low overhead. Typically, these elements are to be attached once and never changed. Optionally, elements can be created using a custom allocation scheme; the holder might also take ownership. These variations in functionality are controlled by policy templates.
The rationale for using this approach is
next
. Consequently, each such node element can't be member in multiple collections at the same time Definition in file linked-elements.hpp.
#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "lib/iter-adapter.hpp"
#include "lib/util.hpp"
#include <utility>
Classes | |
struct | LinkedElements< N, ALO >::IterationState |
Iteration is just following the single linked list. More... | |
class | LinkedElements< N, ALO > |
Intrusive single linked list, possibly taking ownership of node elements. More... | |
struct | NoOwnership |
Policy for LinkedElements: never create or destroy any elements, only allow to add already existing nodes. More... | |
struct | OwningHeapAllocated |
< allocation policies for the LinkedElements list container More... | |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |