momo  3.12
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > Class Template Reference

#include <TreeMap.h>

Public Types

typedef TKeyValueTraits KeyValueTraits
 
typedef TTreeTraits TreeTraits
 
typedef TSettings Settings
 
typedef KeyValueTraits::Key Key
 
typedef KeyValueTraits::Value Value
 
typedef KeyValueTraits::MemManager MemManager
 
typedef internal::TreeMapIterator< TreeSetConstIteratorIterator
 
typedef Iterator::ConstIterator ConstIterator
 
typedef internal::InsertResult< IteratorInsertResult
 
typedef internal::MapExtractedPair< TreeSetExtractedItemExtractedPair
 
template<typename KeyReference >
using ValueReference = typename ValueReferencer::template ValueReference< KeyReference >
 

Public Member Functions

 TreeMapCore ()
 
 TreeMapCore (const TreeTraits &treeTraits, MemManager memManager=MemManager())
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
 TreeMapCore (ArgIterator begin, ArgSentinel end, const TreeTraits &treeTraits=TreeTraits(), MemManager memManager=MemManager())
 
template<typename Pair = std::pair<Key, Value>>
 TreeMapCore (std::initializer_list< Pair > pairs)
 
template<typename Pair = std::pair<Key, Value>>
 TreeMapCore (std::initializer_list< Pair > pairs, const TreeTraits &treeTraits, MemManager memManager=MemManager())
 
 TreeMapCore (TreeMapCore &&treeMap) noexcept
 
 TreeMapCore (const TreeMapCore &treeMap)
 
 TreeMapCore (const TreeMapCore &treeMap, MemManager memManager)
 
 ~TreeMapCore ()=default
 
TreeMapCoreoperator= (TreeMapCore &&treeMap) noexcept
 
TreeMapCoreoperator= (const TreeMapCore &treeMap)
 
void Swap (TreeMapCore &treeMap) noexcept
 
ConstIterator GetBegin () const noexcept
 
Iterator GetBegin () noexcept
 
ConstIterator GetEnd () const noexcept
 
Iterator GetEnd () noexcept
 
const TreeTraitsGetTreeTraits () const noexcept
 
const MemManagerGetMemManager () const noexcept
 
MemManagerGetMemManager () noexcept
 
size_t GetCount () const noexcept
 
bool IsEmpty () const noexcept
 
void Clear () noexcept
 
ConstIterator GetLowerBound (const Key &key) const
 
Iterator GetLowerBound (const Key &key)
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIteratorGetLowerBound (const KeyArg &key) const
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, IteratorGetLowerBound (const KeyArg &key)
 
ConstIterator GetUpperBound (const Key &key) const
 
Iterator GetUpperBound (const Key &key)
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIteratorGetUpperBound (const KeyArg &key) const
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, IteratorGetUpperBound (const KeyArg &key)
 
ConstIterator Find (const Key &key) const
 
Iterator Find (const Key &key)
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIteratorFind (const KeyArg &key) const
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, IteratorFind (const KeyArg &key)
 
bool ContainsKey (const Key &key) const
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, bool > ContainsKey (const KeyArg &key) const
 
size_t GetKeyCount (const Key &key) const
 
template<typename KeyArg >
internal::EnableIf< IsValidKeyArg< KeyArg >::value, size_t > GetKeyCount (const KeyArg &key) const
 
template<typename ValueCreator >
InsertResult InsertCrt (Key &&key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
InsertResult InsertVar (Key &&key, ValueArgs &&... valueArgs)
 
InsertResult Insert (Key &&key, Value &&value)
 
InsertResult Insert (Key &&key, const Value &value)
 
template<typename ValueCreator >
InsertResult InsertCrt (const Key &key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
InsertResult InsertVar (const Key &key, ValueArgs &&... valueArgs)
 
InsertResult Insert (const Key &key, Value &&value)
 
InsertResult Insert (const Key &key, const Value &value)
 
InsertResult Insert (ExtractedPair &&extPair)
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
size_t Insert (ArgIterator begin, ArgSentinel end)
 
template<typename Pair = std::pair<Key, Value>>
size_t Insert (std::initializer_list< Pair > pairs)
 
template<typename PairCreator , bool extraCheck = true>
Iterator AddCrt (ConstIterator iter, PairCreator &&pairCreator)
 
template<typename ValueCreator , bool extraCheck = true>
Iterator AddCrt (ConstIterator iter, Key &&key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Iterator AddVar (ConstIterator iter, Key &&key, ValueArgs &&... valueArgs)
 
Iterator Add (ConstIterator iter, Key &&key, Value &&value)
 
Iterator Add (ConstIterator iter, Key &&key, const Value &value)
 
template<typename ValueCreator , bool extraCheck = true>
Iterator AddCrt (ConstIterator iter, const Key &key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Iterator AddVar (ConstIterator iter, const Key &key, ValueArgs &&... valueArgs)
 
Iterator Add (ConstIterator iter, const Key &key, Value &&value)
 
Iterator Add (ConstIterator iter, const Key &key, const Value &value)
 
Iterator Add (ConstIterator iter, ExtractedPair &&extPair)
 
ValueReference< Key && > operator[] (Key &&key)
 
ValueReference< const Key & > operator[] (const Key &key)
 
Iterator Remove (ConstIterator iter)
 
Iterator Remove (Iterator iter)
 
Iterator Remove (ConstIterator iter, ExtractedPair &extPair)
 
Iterator Remove (ConstIterator begin, ConstIterator end)
 
size_t Remove (const Key &key)
 
template<typename PairFilter >
internal::EnableIf< internal::IsInvocable< const PairFilter &, bool, const Key &, const Value & >::value, size_t > Remove (const PairFilter &pairFilter)
 
ExtractedPair Extract (ConstIterator iter)
 
template<typename KeyArg , bool extraCheck = true>
void ResetKey (ConstIterator iter, KeyArg &&keyArg)
 
template<typename RMap >
void MergeFrom (RMap &&srcMap)
 
template<typename Map >
void MergeTo (Map &dstMap)
 
Iterator MakeMutableIterator (ConstIterator iter)
 
void CheckIterator (ConstIterator iter, bool allowEmpty=true) const
 

Detailed Description

template<typename TKeyValueTraits, typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
class momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >

All TreeMapCore functions and constructors have strong exception safety, but not the following cases:

  1. Functions Insert receiving many items have basic exception safety.
  2. Function Remove receiving predicate has basic exception safety.
  3. Functions MergeFrom and MergeTo have basic exception safety.
  4. In case default KeyValueTraits: if insert/add function receiving argument Key&& key throws exception, this argument may be changed.
  5. In case default KeyValueTraits: if function Remove throws exception and ObjectManager<Key, MemManager>::isNothrowAnywayAssignable is false and ObjectManager<Value, MemManager>::isNothrowAnywayAssignable is false, removing value may be changed.

Member Typedef Documentation

◆ ConstIterator

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef Iterator::ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ConstIterator

◆ ExtractedPair

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef internal::MapExtractedPair<TreeSetExtractedItem> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ExtractedPair

◆ InsertResult

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef internal::InsertResult<Iterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::InsertResult

◆ Iterator

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef internal::TreeMapIterator<TreeSetConstIterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Iterator

◆ Key

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef KeyValueTraits::Key momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Key

◆ KeyValueTraits

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef TKeyValueTraits momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::KeyValueTraits

◆ MemManager

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef KeyValueTraits::MemManager momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::MemManager

◆ Settings

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef TSettings momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Settings

◆ TreeTraits

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef TTreeTraits momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeTraits

◆ Value

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
typedef KeyValueTraits::Value momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Value

◆ ValueReference

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyReference >
using momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ValueReference = typename ValueReferencer::template ValueReference<KeyReference>

Constructor & Destructor Documentation

◆ TreeMapCore() [1/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( )
inline

◆ TreeMapCore() [2/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( const TreeTraits treeTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ TreeMapCore() [3/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( ArgIterator  begin,
ArgSentinel  end,
const TreeTraits treeTraits = TreeTraits(),
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ TreeMapCore() [4/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( std::initializer_list< Pair >  pairs)
inline

◆ TreeMapCore() [5/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( std::initializer_list< Pair >  pairs,
const TreeTraits treeTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ TreeMapCore() [6/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &&  treeMap)
inlinenoexcept

◆ TreeMapCore() [7/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( const TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &  treeMap)
inline

◆ TreeMapCore() [8/8]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::TreeMapCore ( const TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &  treeMap,
MemManager  memManager 
)
inlineexplicit

◆ ~TreeMapCore()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::~TreeMapCore ( )
default

Member Function Documentation

◆ Add() [1/5]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Add ( ConstIterator  iter,
const Key key,
const Value value 
)
inline

◆ Add() [2/5]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Add ( ConstIterator  iter,
const Key key,
Value &&  value 
)
inline

◆ Add() [3/5]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Add ( ConstIterator  iter,
ExtractedPair &&  extPair 
)
inline

◆ Add() [4/5]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Add ( ConstIterator  iter,
Key &&  key,
const Value value 
)
inline

◆ Add() [5/5]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Add ( ConstIterator  iter,
Key &&  key,
Value &&  value 
)
inline

◆ AddCrt() [1/3]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ValueCreator , bool extraCheck = true>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::AddCrt ( ConstIterator  iter,
const Key key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [2/3]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ValueCreator , bool extraCheck = true>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::AddCrt ( ConstIterator  iter,
Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [3/3]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename PairCreator , bool extraCheck = true>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::AddCrt ( ConstIterator  iter,
PairCreator &&  pairCreator 
)
inline

◆ AddVar() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename... ValueArgs>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::AddVar ( ConstIterator  iter,
const Key key,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename... ValueArgs>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::AddVar ( ConstIterator  iter,
Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ CheckIterator()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::CheckIterator ( ConstIterator  iter,
bool  allowEmpty = true 
) const
inline

◆ Clear()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Clear ( )
inlinenoexcept

◆ ContainsKey() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
bool momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ContainsKey ( const Key key) const
inline

◆ ContainsKey() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, bool> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ContainsKey ( const KeyArg &  key) const
inline

◆ Extract()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ExtractedPair momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Extract ( ConstIterator  iter)
inline

◆ Find() [1/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Find ( const Key key)
inline

◆ Find() [2/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Find ( const Key key) const
inline

◆ Find() [3/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, Iterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Find ( const KeyArg &  key)
inline

◆ Find() [4/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstIterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Find ( const KeyArg &  key) const
inline

◆ GetBegin() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetBegin ( ) const
inlinenoexcept

◆ GetBegin() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetBegin ( )
inlinenoexcept

◆ GetCount()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
size_t momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetCount ( ) const
inlinenoexcept

◆ GetEnd() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetEnd ( ) const
inlinenoexcept

◆ GetEnd() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetEnd ( )
inlinenoexcept

◆ GetKeyCount() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
size_t momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetKeyCount ( const Key key) const
inline

◆ GetKeyCount() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, size_t> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetKeyCount ( const KeyArg &  key) const
inline

◆ GetLowerBound() [1/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetLowerBound ( const Key key)
inline

◆ GetLowerBound() [2/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetLowerBound ( const Key key) const
inline

◆ GetLowerBound() [3/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, Iterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetLowerBound ( const KeyArg &  key)
inline

◆ GetLowerBound() [4/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstIterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetLowerBound ( const KeyArg &  key) const
inline

◆ GetMemManager() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
const MemManager& momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetMemManager ( ) const
inlinenoexcept

◆ GetMemManager() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
MemManager& momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetMemManager ( )
inlinenoexcept

◆ GetTreeTraits()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
const TreeTraits& momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetTreeTraits ( ) const
inlinenoexcept

◆ GetUpperBound() [1/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetUpperBound ( const Key key)
inline

◆ GetUpperBound() [2/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ConstIterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetUpperBound ( const Key key) const
inline

◆ GetUpperBound() [3/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, Iterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetUpperBound ( const KeyArg &  key)
inline

◆ GetUpperBound() [4/4]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg >
internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstIterator> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::GetUpperBound ( const KeyArg &  key) const
inline

◆ Insert() [1/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
size_t momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( ArgIterator  begin,
ArgSentinel  end 
)
inline

◆ Insert() [2/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( const Key key,
const Value value 
)
inline

◆ Insert() [3/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( const Key key,
Value &&  value 
)
inline

◆ Insert() [4/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( ExtractedPair &&  extPair)
inline

◆ Insert() [5/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( Key &&  key,
const Value value 
)
inline

◆ Insert() [6/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( Key &&  key,
Value &&  value 
)
inline

◆ Insert() [7/7]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename Pair = std::pair<Key, Value>>
size_t momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Insert ( std::initializer_list< Pair >  pairs)
inline

◆ InsertCrt() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ValueCreator >
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::InsertCrt ( const Key key,
ValueCreator &&  valueCreator 
)
inline

◆ InsertCrt() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename ValueCreator >
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::InsertCrt ( Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ InsertVar() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename... ValueArgs>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::InsertVar ( const Key key,
ValueArgs &&...  valueArgs 
)
inline

◆ InsertVar() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename... ValueArgs>
InsertResult momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::InsertVar ( Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ IsEmpty()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
bool momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::IsEmpty ( ) const
inlinenoexcept

◆ MakeMutableIterator()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::MakeMutableIterator ( ConstIterator  iter)
inline

◆ MergeFrom()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename RMap >
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::MergeFrom ( RMap &&  srcMap)
inline

◆ MergeTo()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename Map >
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::MergeTo ( Map &  dstMap)
inline

◆ operator=() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
TreeMapCore& momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::operator= ( const TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &  treeMap)
inline

◆ operator=() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
TreeMapCore& momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::operator= ( TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &&  treeMap)
inlinenoexcept

◆ operator[]() [1/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ValueReference<const Key&> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::operator[] ( const Key key)
inline

◆ operator[]() [2/2]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
ValueReference<Key&&> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::operator[] ( Key &&  key)
inline

◆ Remove() [1/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
size_t momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( const Key key)
inline

◆ Remove() [2/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename PairFilter >
internal::EnableIf<internal::IsInvocable<const PairFilter&, bool, const Key&, const Value&>::value, size_t> momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( const PairFilter &  pairFilter)
inline

◆ Remove() [3/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( ConstIterator  begin,
ConstIterator  end 
)
inline

◆ Remove() [4/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( ConstIterator  iter)
inline

◆ Remove() [5/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( ConstIterator  iter,
ExtractedPair extPair 
)
inline

◆ Remove() [6/6]

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
Iterator momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Remove ( Iterator  iter)
inline

◆ ResetKey()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
template<typename KeyArg , bool extraCheck = true>
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::ResetKey ( ConstIterator  iter,
KeyArg &&  keyArg 
)
inline

◆ Swap()

template<typename TKeyValueTraits , typename TTreeTraits = TreeTraits<typename TKeyValueTraits::Key>, typename TSettings = TreeMapSettings>
void momo::TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings >::Swap ( TreeMapCore< TKeyValueTraits, TTreeTraits, TSettings > &  treeMap)
inlinenoexcept

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