Inner.IndexMixin

index implementation

template Inner(ThisContainer, ThisNode, Value, ValueView, size_t N, Allocator)
mixin template IndexMixin (
size_t N
alias KeyFromValue
alias Compare
ThisContainer
) {}

Members

Aliases

ConstHeapRange
alias ConstHeapRange = HeapRangeT!true
Undocumented in source.
HeapRange
alias HeapRange = HeapRangeT!false
Undocumented in source.
KeyType
alias KeyType = typeof(key((Value).init))
Undocumented in source.
key
alias key = unaryFun!KeyFromValue
Undocumented in source.
less
alias less = binaryFun!Compare
Undocumented in source.
removeAny
alias removeAny = removeFront

Forwards to removeFront

Functions

_Check
void _Check()
Undocumented in source. Be warned that the author may not have intended to support it.
_ClearIndex
void _ClearIndex()
Undocumented in source. Be warned that the author may not have intended to support it.
_FixPosition
void _FixPosition(ThisNode* node, KeyType oldPosition, ThisNode* cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
_Insert
void _Insert(ThisNode* node)
Undocumented in source. Be warned that the author may not have intended to support it.
_NodePosition
KeyType _NodePosition(ThisNode* node)
Undocumented in source. Be warned that the author may not have intended to support it.
_NodeReplace
void _NodeReplace(ThisNode* old, ThisNode* newnode)
Undocumented in source. Be warned that the author may not have intended to support it.
_NotifyChange
bool _NotifyChange(ThisNode* node)
Undocumented in source. Be warned that the author may not have intended to support it.
_PositionFixable
bool _PositionFixable(ThisNode* node, KeyType oldPosition, ThisNode* cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
_Remove
void _Remove(ThisNode* node)
Undocumented in source. Be warned that the author may not have intended to support it.
_invariant
bool _invariant(size_t i)
Undocumented in source. Be warned that the author may not have intended to support it.
capacity
size_t capacity()

Returns the capacity of the index, which is the length of the underlying store

clear
void clear()

??

insert
size_t insert(SomeValue value)

Inserts value into this heap, unless another index refuses it.

insert
size_t insert(SomeRange r)
Undocumented in source. Be warned that the author may not have intended to support it.
isLe
bool isLe(size_t a, size_t b)
Undocumented in source. Be warned that the author may not have intended to support it.
modify
void modify(SomeRange r, Modifier mod)
Undocumented in source. Be warned that the author may not have intended to support it.
opSlice
HeapRange opSlice()

Fetch a range that spans all the elements in the container.

opSlice
ConstHeapRange opSlice()
Undocumented in source. Be warned that the author may not have intended to support it.
printHeap
void printHeap()
Undocumented in source. Be warned that the author may not have intended to support it.
printHeap1
void printHeap1(size_t n, size_t indent)
Undocumented in source. Be warned that the author may not have intended to support it.
remove
HeapRange remove(R r)
Undocumented in source. Be warned that the author may not have intended to support it.
removeBack
void removeBack()

removes the back of this index from the container. Why would you do this? No idea. Complexity: O(d(n));
O(1) for this index

removeFront
void removeFront()

Removes the max element of this index from the container. Complexity: O(d(n));
O(log(n)) for this index

replace
bool replace(Position!ThisNode r, ValueView value)
Undocumented in source. Be warned that the author may not have intended to support it.
reserve
void reserve(size_t count)

Ensures sufficient capacity to accommodate n elements.

sift
void sift(size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.
swapAt
void swapAt(size_t n1, size_t n2)
Undocumented in source. Be warned that the author may not have intended to support it.
toString0
string toString0()
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

back
back [@property getter]
empty
bool empty [@property getter]

Property returning true if and only if the container has no elements.

front
front [@property getter]
length
size_t length [@property getter]

Returns the number of elements in the container.

Static functions

l
size_t l(size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.
p
size_t p(size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.
r
size_t r(size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

HeapRangeT
struct HeapRangeT(bool is_const)

The primary range of the index, which embodies a bidirectional range.

Templates

IsMyRange
template IsMyRange(T)
Undocumented in source.

Variables

_heap
ThisNode*[] _heap;
Undocumented in source.

Meta