MNode

A multi_index node. Holds the value of a single element, plus per-node headers of each index, if any. The headers are all mixed in in the same scope. To prevent naming conflicts, a header field must be accessed with the number of its index.

struct MNode (
_ThisContainer
IndexedBy
Allocator
Signals
Value
ValueView
) {
Value value;
Capsule* val_ptr;
ThisContainer container;
enum signal_stuff;
enum stuff;
}

Destructor

A destructor is present on this object, but not explicitly documented in the source.

Members

Templates

ForEachSignal
template ForEachSignal(size_t i)

generate slots

Examples

1 alias MNode!(IndexedBy!(Sequenced!(), Sequenced!(), OrderedUnique!()), int) Node;
2 Node* n1 = new Node();
3 Node* n2 = new Node();
4 n1.index!0 .next = n2;
5 n2.index!0 .prev = n1;
6 n1.index!1 .prev = n2;
7 n2.index!1 .next = n1;
8 n1.index!2 .left = n2;

Meta