|
| | TreeMap () |
| |
| | TreeMap (const TreeTraits &treeTraits, MemManager memManager=MemManager()) |
| |
| template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))> |
| | TreeMap (ArgIterator begin, ArgSentinel end, const TreeTraits &treeTraits=TreeTraits(), MemManager memManager=MemManager()) |
| |
| template<typename Pair = std::pair<Key, Value>> |
| | TreeMap (std::initializer_list< Pair > pairs) |
| |
| template<typename Pair = std::pair<Key, Value>> |
| | TreeMap (std::initializer_list< Pair > pairs, const TreeTraits &treeTraits, MemManager memManager=MemManager()) |
| |
| | TreeMap (TreeMap &&treeMap) noexcept |
| |
| | TreeMap (const TreeMap &treeMap) |
| |
| | TreeMap (const TreeMap &treeMap, MemManager memManager) |
| |
| | ~TreeMap ()=default |
| |
| TreeMap & | operator= (TreeMap &&treeMap) noexcept |
| |
| TreeMap & | operator= (const TreeMap &treeMap) |
| |
| void | Swap (TreeMap &treeMap) noexcept |
| |
| ConstIterator | GetBegin () const noexcept |
| |
| Iterator | GetBegin () noexcept |
| |
| ConstIterator | GetEnd () const noexcept |
| |
| Iterator | GetEnd () noexcept |
| |
| const TreeTraits & | GetTreeTraits () const noexcept |
| |
| const MemManager & | GetMemManager () const noexcept |
| |
| MemManager & | GetMemManager () 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, ConstIterator > | GetLowerBound (const KeyArg &key) const |
| |
| template<typename KeyArg > |
| internal::EnableIf< IsValidKeyArg< KeyArg >::value, Iterator > | GetLowerBound (const KeyArg &key) |
| |
| ConstIterator | GetUpperBound (const Key &key) const |
| |
| Iterator | GetUpperBound (const Key &key) |
| |
| template<typename KeyArg > |
| internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIterator > | GetUpperBound (const KeyArg &key) const |
| |
| template<typename KeyArg > |
| internal::EnableIf< IsValidKeyArg< KeyArg >::value, Iterator > | GetUpperBound (const KeyArg &key) |
| |
| ConstIterator | Find (const Key &key) const |
| |
| Iterator | Find (const Key &key) |
| |
| template<typename KeyArg > |
| internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIterator > | Find (const KeyArg &key) const |
| |
| template<typename KeyArg > |
| internal::EnableIf< IsValidKeyArg< KeyArg >::value, Iterator > | Find (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) |
| |
| ValueReferenceRKey | operator[] (Key &&key) |
| |
| ValueReferenceCKey | 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 |
| |
template<typename TKey, typename TValue, typename TTreeTraits = TreeTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = TreeMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = TreeMapSettings>
class momo::TreeMap< TKey, TValue, TTreeTraits, TMemManager, TKeyValueTraits, TSettings >
All TreeMap functions and constructors have strong exception safety, but not the following cases:
- Functions
Insert receiving many items have basic exception safety.
- Function
Remove receiving predicate has basic exception safety.
- Functions
MergeFrom and MergeTo have basic exception safety.
- In case default
KeyValueTraits: if insert/add function receiving argument Key&& key throws exception, this argument may be changed.
- 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.