momo  3.9
momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > Class Template Reference

#include <TreeNode.h>

Classes

class  Params
 

Public Types

typedef ItemTraits::Item Item
 
typedef ItemTraits::MemManager MemManager
 

Public Member Functions

 MOMO_STATIC_ASSERT (0< maxCapacity &&maxCapacity< 256)
 
 Node ()=delete
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 
void Destroy (Params &params) noexcept
 
bool IsLeaf () const noexcept
 
size_t GetCapacity () const noexcept
 
size_t GetCount () const noexcept
 
NodeGetParent () noexcept
 
void SetParent (Node *parent) noexcept
 
NodeGetChild (size_t index) noexcept
 
void SetChild (size_t index, Node *child) noexcept
 
size_t GetChildIndex (const Node *child) const noexcept
 
ItemGetItemPtr (size_t index) noexcept
 
void AcceptBackItem (Params &params, size_t index) noexcept
 
template<typename ItemRemover >
void Remove (Params &params, size_t index, ItemRemover &&itemRemover)
 

Static Public Member Functions

static NodeCreate (Params &params, bool isLeaf, size_t count)
 

Static Public Attributes

static const size_t maxCapacity = tMaxCapacity
 

Protected Types

typedef TItemTraits ItemTraits
 
typedef TMemPoolParams MemPoolParams
 

Protected Member Functions

 MOMO_STATIC_ASSERT (!isContinuous||ItemTraits::isNothrowShiftable)
 

Static Protected Attributes

static const size_t capacityStep = (tCapacityStep > 0) ? tCapacityStep : tMaxCapacity
 
static const bool isContinuous = tIsContinuous
 

Member Typedef Documentation

◆ Item

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
typedef ItemTraits::Item momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Item

◆ ItemTraits

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
typedef TItemTraits momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::ItemTraits
protected

◆ MemManager

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
typedef ItemTraits::MemManager momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::MemManager

◆ MemPoolParams

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
typedef TMemPoolParams momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::MemPoolParams
protected

Constructor & Destructor Documentation

◆ Node() [1/2]

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Node ( )
delete

◆ Node() [2/2]

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Node ( const Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > &  )
delete

Member Function Documentation

◆ AcceptBackItem()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
void momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::AcceptBackItem ( Params params,
size_t  index 
)
inlinenoexcept

◆ Create()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
static Node* momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Create ( Params params,
bool  isLeaf,
size_t  count 
)
inlinestatic

◆ Destroy()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
void momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Destroy ( Params params)
inlinenoexcept

◆ GetCapacity()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
size_t momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetCapacity ( ) const
inlinenoexcept

◆ GetChild()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
Node* momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetChild ( size_t  index)
inlinenoexcept

◆ GetChildIndex()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
size_t momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetChildIndex ( const Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > *  child) const
inlinenoexcept

◆ GetCount()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
size_t momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetCount ( ) const
inlinenoexcept

◆ GetItemPtr()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
Item* momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetItemPtr ( size_t  index)
inlinenoexcept

◆ GetParent()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
Node* momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::GetParent ( )
inlinenoexcept

◆ IsLeaf()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
bool momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::IsLeaf ( ) const
inlinenoexcept

◆ MOMO_STATIC_ASSERT() [1/2]

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::MOMO_STATIC_ASSERT ( !isContinuous||ItemTraits::isNothrowShiftable  )
protected

◆ MOMO_STATIC_ASSERT() [2/2]

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::MOMO_STATIC_ASSERT ( )

◆ operator=()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
Node& momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::operator= ( const Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > &  )
delete

◆ Remove()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
template<typename ItemRemover >
void momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::Remove ( Params params,
size_t  index,
ItemRemover &&  itemRemover 
)
inline

◆ SetChild()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
void momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::SetChild ( size_t  index,
Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > *  child 
)
inlinenoexcept

◆ SetParent()

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
void momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::SetParent ( Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous > *  parent)
inlinenoexcept

Member Data Documentation

◆ capacityStep

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
const size_t momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::capacityStep = (tCapacityStep > 0) ? tCapacityStep : tMaxCapacity
staticprotected

◆ isContinuous

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
const bool momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::isContinuous = tIsContinuous
staticprotected

◆ maxCapacity

template<typename TItemTraits , size_t tMaxCapacity, size_t tCapacityStep, typename TMemPoolParams , bool tIsContinuous>
const size_t momo::internal::Node< TItemTraits, tMaxCapacity, tCapacityStep, TMemPoolParams, tIsContinuous >::maxCapacity = tMaxCapacity
static

The documentation for this class was generated from the following file: