niknaks.containers

Container types

Members

Classes

CycleDetectionTree
class CycleDetectionTree(T)
Undocumented in source.
Graph
class Graph(T)

A graph of nodes.

VisitationTree
class VisitationTree(T)

A kind-of a graph which has the ability to linearize all of its nodes which results in performing a depth first search resulting in the collection of all nodes into a single array with elements on the left hand side being the most leafiest (and left-to-right on the same depth are in said order).

Functions

isSector
bool isSector()

Compile-time function to check if a given data type is a valid SectorType, meaning that it can be used for a View implementation

Structs

BasicSector
struct BasicSector(T)

Basic implementation of a SectorType

Pool
struct Pool(EntryType, ValueType, bool entryTakesValue_onCtor = true)

Represents a pool which takes in a key of type ValueType. If a corresponding EntryType is mapped-to via said key then it is returned, else it is constructed on the spot, stored and then finally returned

View
struct View(T, SectorType = BasicSector!(T))

A view represents a collection of arrays which can be accessed in an array like manner and have their elements changed too. Therefore this provides access to these originally non-contiguous data sets as if they were one contiguous array.

Templates

Always
template Always(T)

A visitation stratergy which always returns true

CacheMap
template CacheMap(K, V)

A CacheMap with a key type of K and value type of V

InclusionStratergy
template InclusionStratergy(T)

The inclusion stratergy which will be called upon the graph node prior to it being visited during a dfs operation.

Nothing
template Nothing(T)

A touching stratergy that does nothing

TouchStratergy
template TouchStratergy(T)

This is called on a graph node as part of the first action that takes place during the visitation of said node during a dfs operation.

Meta

Authors

Tristan Brice Velloza Kildaire (deavmi)