Template Class Ndtree

Class Documentation

template<typename NodeDataT, int dim>
class Ndtree

Public Types

using IndexType = NdtreeIndex<dim>
using HeightType = IndexElement
using NodeType = NdtreeNode<NodeDataT, dim>
using NodeRefType = NodeType&
using NodeConstRefType = const NodeType&
using NodePtrType = NodeType*
using NodeConstPtrType = const NodeType*
using NodeDataType = NodeDataT

Public Functions

template<typename ...RootNodeArgs>
explicit Ndtree(HeightType max_height, RootNodeArgs&&... args)
~Ndtree() = default
inline bool empty() const
size_t size() const
inline void clear()
void prune()
inline HeightType getMaxHeight() const
size_t getMemoryUsage() const
inline bool hasNode(const IndexType &index) const
bool eraseNode(const IndexType &index)
NodeType *getNode(const IndexType &index)
const NodeType *getNode(const IndexType &index) const
template<typename ...DefaultArgs>
NodeType &getOrAllocateNode(const IndexType &index, DefaultArgs&&... args)
std::pair<NodeType*, HeightType> getNodeOrAncestor(const IndexType &index)
std::pair<const NodeType*, HeightType> getNodeOrAncestor(const IndexType &index) const
inline NodeType &getRootNode()
inline const NodeType &getRootNode() const
template<TraversalOrder traversal_order>
auto getIterator()
template<TraversalOrder traversal_order>
auto getIterator() const

Public Static Attributes

static constexpr HeightType kChunkHeight = 1