util.multi_index

Undocumented in source.

Members

Classes

MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)
Undocumented in source.
MultiIndexContainer
class MultiIndexContainer(Value, Args...)

The container. Don't call any index methods from this container directly; use a reference to an individual index, which can be obtained via

Position
class Position(MNode)
Undocumented in source.

Enums

Color
enum Color

Enumeration determining what color the node is. Null nodes are assumed to be black.

Functions

AllocatorCount
int AllocatorCount()
Undocumented in source. Be warned that the author may not have intended to support it.
ConstnessViewCount
int ConstnessViewCount()
Undocumented in source. Be warned that the author may not have intended to support it.
IndexGarbage
size_t[] IndexGarbage()
Undocumented in source. Be warned that the author may not have intended to support it.
IndexedByAllIndices
size_t[] IndexedByAllIndices()
Undocumented in source. Be warned that the author may not have intended to support it.
IndexedByCount
int IndexedByCount()
Undocumented in source. Be warned that the author may not have intended to support it.
PSR
auto PSR(Range rng)
Undocumented in source. Be warned that the author may not have intended to support it.
ValueChangedSlotsCount
int ValueChangedSlotsCount()
Undocumented in source. Be warned that the author may not have intended to support it.
allocatedArray
Unqual!(ForeachType!Range)[] allocatedArray(Range r)
Undocumented in source. Be warned that the author may not have intended to support it.
arr
int[] arr(Range r)
Undocumented in source. Be warned that the author may not have intended to support it.
main
void main()
Undocumented in source. Be warned that the author may not have intended to support it.

Mixin templates

OrderedIndex
mixintemplate OrderedIndex(size_t N, bool allowDuplicates, alias KeyFromValue, alias Compare, ThisContainer)

ordered index implementation

OrderedNodeMixin
mixintemplate OrderedNodeMixin(size_t N)

ordered node implementation

Slots
mixintemplate Slots()

simple Slot implementation

Structs

ComparisonEx
struct ComparisonEx(alias _key, alias _less)
Undocumented in source.
ConstView
struct ConstView
Undocumented in source.
CriterionFromKey
struct CriterionFromKey(MultiIndex, size_t index, alias CompatibleKeyFromKey, alias CompatibleLess = "a<b")
Undocumented in source.
DefaultComparison
struct DefaultComparison(alias _less)
Undocumented in source.
GCAllocator
struct GCAllocator
Undocumented in source.
IndexedBy
struct IndexedBy(L...)
Undocumented in source.
MNode
struct MNode(_ThisContainer, IndexedBy, Allocator, Signals, Value, ValueView)

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.

MallocAllocator
struct MallocAllocator
Undocumented in source.
Mixin2Indices
struct Mixin2Indices(stuff...)
Undocumented in source.
MutableView
struct MutableView
Undocumented in source.
S1
struct S1
Undocumented in source.
ValueChangedSlots
struct ValueChangedSlots(L...)

Specifies how to hook up value signals to indices.

ValueSignal
struct ValueSignal(size_t index, string mixinAlias = "")

_

ValueSignal
struct ValueSignal(string tag, string mixinAlias = "")

_

Templates

ExpandStarSignal
template ExpandStarSignal(IndexedBy, size_t i, ProtoSignal)
Undocumented in source.
ExpandStarSignals
template ExpandStarSignals(IndexedBy, L...)
Undocumented in source.
FindAllocator
template FindAllocator(Args...)
Undocumented in source.
FindConstnessView
template FindConstnessView(Args...)
Undocumented in source.
FindIndexedBy
template FindIndexedBy(Args...)
Undocumented in source.
FindValueChangedSlots
template FindValueChangedSlots(Args...)
Undocumented in source.
GetMixinAlias
template GetMixinAlias(valueSignal)
Undocumented in source.
Hashed
template Hashed(bool allowDuplicates = false, alias KeyFromValue = "a", alias Hash = "typeid(a).getHash(&a)", alias Eq = "a==b")

a hash table index KeyFromValue(value) = key of type KeyType Hash(key) = hash of type size_t Eq(key1, key2) determines equality of key1, key2

HashedNonUnique
template HashedNonUnique(alias KeyFromValue = "a", alias Hash = "typeid(a).getHash(&a)", alias Eq = "a==b")

_

HashedUnique
template HashedUnique(alias KeyFromValue = "a", alias Hash = "typeid(a).getHash(&a)", alias Eq = "a==b")

_

Heap
template Heap(alias KeyFromValue = "a", alias Compare = "a<b")

a max heap index

IsAllocator
template IsAllocator(T)
Undocumented in source.
IsCompatibleLess
template IsCompatibleLess(Less, Key, CKey)
Undocumented in source.
IsConstnessView
template IsConstnessView(alias T)
Undocumented in source.
IsIndex
template IsIndex(alias x)
Undocumented in source.
IsIndexedBy
template IsIndexedBy(alias x)
Undocumented in source.
IsValueChangedSlots
template IsValueChangedSlots(alias X)
Undocumented in source.
MultiCompare
template MultiCompare(F...)
Undocumented in source.
MutableValue
template MutableValue(Node, Value)
Undocumented in source.
OU
template OU(T)
Undocumented in source.
Ordered
template Ordered(bool allowDuplicates = false, alias KeyFromValue = "a", alias Compare = "a<b")

A red black tree index

OrderedNonUnique
template OrderedNonUnique(alias KeyFromValue = "a", alias Compare = "a<b")

A red black tree index

OrderedUnique
template OrderedUnique(alias KeyFromValue = "a", alias Compare = "a<b")

A red black tree index

RandomAccess
template RandomAccess()

A random access index.

Sequenced
template Sequenced()

A doubly linked list index.

_AllUnique
template _AllUnique(Thing...)
Undocumented in source.

Variables

primes
size_t[] primes;
Undocumented in source.
primes
size_t[] primes;
Undocumented in source.

Meta