|
| MOMO_STATIC_ASSERT (internal::ObjectAlignmenter< Item >::Check(ItemTraits::alignment)) |
|
| TreeSet () |
|
| TreeSet (const TreeTraits &treeTraits, MemManager memManager=MemManager()) |
|
| TreeSet (std::initializer_list< Item > items) |
|
| TreeSet (std::initializer_list< Item > items, const TreeTraits &treeTraits, MemManager memManager=MemManager()) |
|
| TreeSet (TreeSet &&treeSet) noexcept |
|
| TreeSet (const TreeSet &treeSet) |
|
| TreeSet (const TreeSet &treeSet, MemManager memManager) |
|
| ~TreeSet () noexcept |
|
TreeSet & | operator= (TreeSet &&treeSet) noexcept |
|
TreeSet & | operator= (const TreeSet &treeSet) |
|
void | Swap (TreeSet &treeSet) noexcept |
|
ConstIterator | GetBegin () const noexcept |
|
ConstIterator | GetEnd () const 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 |
|
template<typename KeyArg > |
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIterator > | GetLowerBound (const KeyArg &key) const |
|
ConstIterator | GetUpperBound (const Key &key) const |
|
template<typename KeyArg > |
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIterator > | GetUpperBound (const KeyArg &key) const |
|
ConstIterator | Find (const Key &key) const |
|
template<typename KeyArg > |
internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstIterator > | Find (const KeyArg &key) const |
|
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 ItemCreator , bool extraCheck = true> |
InsertResult | InsertCrt (const Key &key, ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
InsertResult | InsertVar (const Key &key, ItemArgs &&... itemArgs) |
|
InsertResult | Insert (Item &&item) |
|
InsertResult | Insert (const Item &item) |
|
InsertResult | Insert (ExtractedItem &&extItem) |
|
template<typename ArgIterator > |
size_t | Insert (ArgIterator begin, ArgIterator end) |
|
size_t | Insert (std::initializer_list< Item > items) |
|
template<typename ItemCreator , bool extraCheck = true> |
ConstIterator | AddCrt (ConstIterator iter, ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
ConstIterator | AddVar (ConstIterator iter, ItemArgs &&... itemArgs) |
|
ConstIterator | Add (ConstIterator iter, Item &&item) |
|
ConstIterator | Add (ConstIterator iter, const Item &item) |
|
ConstIterator | Add (ConstIterator iter, ExtractedItem &&extItem) |
|
ConstIterator | Remove (ConstIterator iter) |
|
ConstIterator | Remove (ConstIterator iter, ExtractedItem &extItem) |
|
ConstIterator | Remove (ConstIterator begin, ConstIterator end) |
|
size_t | Remove (const Key &key) |
|
template<typename ItemFilter > |
internal::EnableIf< internal::IsInvocable< const ItemFilter &, bool, const Item & >::value, size_t > | Remove (const ItemFilter &itemFilter) |
|
ExtractedItem | Extract (ConstIterator iter) |
|
template<typename KeyArg , bool extraCheck = true> |
void | ResetKey (ConstIterator iter, KeyArg &&keyArg) |
|
template<typename RSet > |
void | MergeFrom (RSet &&srcSet) |
|
template<typename Set > |
void | MergeTo (Set &dstSet) |
|
void | MergeTo (TreeSet &dstTreeSet) |
|
void | CheckIterator (ConstIterator iter, bool allowEmpty=true) const |
|
template<typename TKey, typename TTreeTraits = TreeTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = TreeSetItemTraits<TKey, TMemManager>, typename TSettings = TreeSetSettings>
class momo::TreeSet< TKey, TTreeTraits, TMemManager, TItemTraits, TSettings >
All TreeSet
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.