core.internal.container.treap

Treap container for internal usage.

struct Rand Treap

Types 2

structTreap(E)
Fields
private Node * root
private Rand rand
Methods
void initialize(ulong randSeed) nothrow
void insert(E element) nothrow @nogc
void remove(E element) nothrow
int opApply(scope int delegate(ref E) nothrow dg) nothrow
int opApply(scope int delegate(ref const E) nothrow dg) nothrow const
void removeAll() nothrow
private Node * allocNode(E element) nothrow @nogc
private Node * insert(Node * node, E element) nothrow @nogc
private void freeNode(Node * node) nothrow static
private Node * rotateL(Node * root) nothrow static
private Node * rotateR(Node * root) nothrow static
private void remove(Node * * ppnode, E element) nothrow static
private void removeAll(Node * node) nothrow static
private int opApplyHelper(const Node * node, scope int delegate(ref const E) nothrow dg) nothrow static
Destructors
Nested Templates
Node
private structRand

Random number generators for internal usage.

Fields
private ulong rng_state
empty
Methods
auto opCall() @safe @nogc nothrow pure
uint front() @property @safe @nogc nothrow pure
void popFront() @safe @nogc nothrow pure