momo  3.9
momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode > Class Template Reference

#include <TreeTraits.h>

Inheritance diagram for momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >:

Public Types

typedef TKey Key
 
typedef TLessFunc LessFunc
 
typedef TTreeNode TreeNode
 
template<typename ItemTraits >
using Node = typename TreeNode::template Node< ItemTraits >
 
template<typename KeyArg >
using IsValidKeyArg = internal::TreeTraitsStdIsValidKeyArg< LessFunc >
 

Public Member Functions

 TreeTraitsStd (const LessFunc &lessFunc=LessFunc())
 
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
 
const LessFuncGetLessFunc () const noexcept
 

Static Public Attributes

static const bool multiKey = tMultiKey
 
static const bool useLinearSearch
 

Member Typedef Documentation

◆ IsValidKeyArg

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
template<typename KeyArg >
using momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::IsValidKeyArg = internal::TreeTraitsStdIsValidKeyArg<LessFunc>

◆ Key

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
typedef TKey momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::Key

◆ LessFunc

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
typedef TLessFunc momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::LessFunc

◆ Node

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
template<typename ItemTraits >
using momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::Node = typename TreeNode::template Node<ItemTraits>

◆ TreeNode

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
typedef TTreeNode momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::TreeNode

Constructor & Destructor Documentation

◆ TreeTraitsStd()

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::TreeTraitsStd ( const LessFunc lessFunc = LessFunc())
inlineexplicit

Member Function Documentation

◆ GetLessFunc()

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
const LessFunc& momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::GetLessFunc ( ) const
inlinenoexcept

◆ GetSplitItemIndex()

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
size_t momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::GetSplitItemIndex ( size_t  itemCount,
size_t  newItemIndex 
) const
inlinenoexcept

◆ IsLess()

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
template<typename KeyArg1 , typename KeyArg2 >
bool momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::IsLess ( const KeyArg1 &  key1,
const KeyArg2 &  key2 
) const
inline

Member Data Documentation

◆ multiKey

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
const bool momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::multiKey = tMultiKey
static

◆ useLinearSearch

template<typename TKey , typename TLessFunc = std::less<TKey>, bool tMultiKey = false, typename TTreeNode = TreeNodeDefault>
const bool momo::TreeTraitsStd< TKey, TLessFunc, tMultiKey, TTreeNode >::useLinearSearch
static
Initial value:
=
std::is_same<LessFunc, std::less<Key>>::value && IsFastComparable<Key>::value

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