momo  3.9
momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch > Class Template Reference

#include <TreeTraits.h>

Public Types

typedef TKey Key
 
typedef TTreeNode TreeNode
 
template<typename ItemTraits >
using Node = typename TreeNode::template Node< ItemTraits >
 
template<typename KeyArg >
using IsValidKeyArg = internal::TreeTraitsIsValidKeyArg< Key, KeyArg >
 

Public Member Functions

 TreeTraits () noexcept
 
size_t GetSplitItemIndex (size_t itemCount, size_t newItemIndex) const noexcept
 
template<typename KeyArg1 , typename KeyArg2 >
bool IsLess (const KeyArg1 &key1, const KeyArg2 &key2) const
 
template<typename KeyArg1 , typename KeyArg2 >
bool IsLess (KeyArg1 *key1, KeyArg2 *key2) const noexcept
 

Static Public Attributes

static const bool multiKey = tMultiKey
 
static const bool useLinearSearch = tUseLinearSearch
 

Member Typedef Documentation

◆ IsValidKeyArg

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
template<typename KeyArg >
using momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::IsValidKeyArg = internal::TreeTraitsIsValidKeyArg<Key, KeyArg>

◆ Key

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
typedef TKey momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::Key

◆ Node

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
template<typename ItemTraits >
using momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::Node = typename TreeNode::template Node<ItemTraits>

◆ TreeNode

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
typedef TTreeNode momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::TreeNode

Constructor & Destructor Documentation

◆ TreeTraits()

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::TreeTraits ( )
inlineexplicitnoexcept

Member Function Documentation

◆ GetSplitItemIndex()

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
size_t momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::GetSplitItemIndex ( size_t  itemCount,
size_t  newItemIndex 
) const
inlinenoexcept

◆ IsLess() [1/2]

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
template<typename KeyArg1 , typename KeyArg2 >
bool momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::IsLess ( const KeyArg1 &  key1,
const KeyArg2 &  key2 
) const
inline

◆ IsLess() [2/2]

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
template<typename KeyArg1 , typename KeyArg2 >
bool momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::IsLess ( KeyArg1 *  key1,
KeyArg2 *  key2 
) const
inlinenoexcept

Member Data Documentation

◆ multiKey

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
const bool momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::multiKey = tMultiKey
static

◆ useLinearSearch

template<typename TKey , bool tMultiKey = false, typename TTreeNode = TreeNodeDefault, bool tUseLinearSearch = IsFastComparable<TKey>::value>
const bool momo::TreeTraits< TKey, tMultiKey, TTreeNode, tUseLinearSearch >::useLinearSearch = tUseLinearSearch
static

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