|
| MOMO_STATIC_ASSERT (internal::ObjectAlignmenter< Item >::Check(ItemTraits::alignment)) |
|
| HashSet () |
|
| HashSet (const HashTraits &hashTraits, MemManager memManager=MemManager()) |
|
| HashSet (std::initializer_list< Item > items) |
|
| HashSet (std::initializer_list< Item > items, const HashTraits &hashTraits, MemManager memManager=MemManager()) |
|
| HashSet (HashSet &&hashSet) noexcept |
|
| HashSet (const HashSet &hashSet) |
|
| HashSet (const HashSet &hashSet, MemManager memManager) |
|
| ~HashSet () noexcept |
|
HashSet & | operator= (HashSet &&hashSet) noexcept |
|
HashSet & | operator= (const HashSet &hashSet) |
|
void | Swap (HashSet &hashSet) noexcept |
|
ConstIterator | GetBegin () const noexcept |
|
ConstIterator | GetEnd () const noexcept |
|
const HashTraits & | GetHashTraits () const noexcept |
|
const MemManager & | GetMemManager () const noexcept |
|
MemManager & | GetMemManager () noexcept |
|
size_t | GetCount () const noexcept |
|
bool | IsEmpty () const noexcept |
|
void | Clear (bool shrink=true) noexcept |
|
size_t | GetCapacity () const noexcept |
|
void | Reserve (size_t capacity) |
|
MOMO_FORCEINLINE ConstPosition | Find (const Key &key) const |
|
template<typename KeyArg > |
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstPosition > | Find (const KeyArg &key) const |
|
MOMO_FORCEINLINE bool | ContainsKey (const Key &key) const |
|
template<typename KeyArg > |
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, bool > | ContainsKey (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> |
ConstPosition | AddCrt (ConstPosition pos, ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
ConstPosition | AddVar (ConstPosition pos, ItemArgs &&... itemArgs) |
|
ConstPosition | Add (ConstPosition pos, Item &&item) |
|
ConstPosition | Add (ConstPosition pos, const Item &item) |
|
ConstPosition | Add (ConstPosition pos, ExtractedItem &&extItem) |
|
ConstIterator | Remove (ConstIterator iter) |
|
void | Remove (ConstPosition pos) |
|
ConstIterator | Remove (ConstIterator iter, ExtractedItem &extItem) |
|
bool | 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 (ConstPosition pos) |
|
template<typename KeyArg , bool extraCheck = true> |
void | ResetKey (ConstPosition pos, KeyArg &&keyArg) |
|
template<typename RSet > |
void | MergeFrom (RSet &&srcSet) |
|
template<typename Set > |
void | MergeTo (Set &dstSet) |
|
void | MergeTo (HashSet &dstHashSet) |
|
size_t | GetBucketCount () const noexcept |
|
ConstBucketBounds | GetBucketBounds (size_t bucketIndex) const |
|
size_t | GetBucketIndex (const Key &key) const |
|
ConstPosition | MakePosition (size_t hashCode) const noexcept |
|
void | CheckIterator (ConstIterator iter, bool allowEmpty=true) const |
|
template<typename TKey, typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
class momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >
All HashSet
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.
template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename ArgIterator >
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Insert |
( |
ArgIterator |
begin, |
|
|
ArgIterator |
end |
|
) |
| |
|
inline |
template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename ItemCreator , bool extraCheck = true>
InsertResult momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::InsertCrt |
( |
const Key & |
key, |
|
|
ItemCreator && |
itemCreator |
|
) |
| |
|
inline |
template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename KeyArg , bool extraCheck = true>