momo  3.9
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > Class Template Reference

#include <HashSet.h>

Public Types

typedef TKey Key
 
typedef THashTraits HashTraits
 
typedef TMemManager MemManager
 
typedef TItemTraits ItemTraits
 
typedef TSettings Settings
 
typedef ItemTraits::Item Item
 
typedef internal::HashSetConstIterator< Bucket, SettingsConstIterator
 
typedef ConstIterator Iterator
 
typedef ConstIterator::Position ConstPosition
 
typedef ConstPosition Position
 
typedef internal::InsertResult< ConstPositionInsertResult
 
typedef internal::SetExtractedItem< ItemTraits, SettingsExtractedItem
 
typedef BucketBounds::ConstBounds ConstBucketBounds
 

Public Member Functions

 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
 
HashSetoperator= (HashSet &&hashSet) noexcept
 
HashSetoperator= (const HashSet &hashSet)
 
void Swap (HashSet &hashSet) noexcept
 
ConstIterator GetBegin () const noexcept
 
ConstIterator GetEnd () const noexcept
 
const HashTraitsGetHashTraits () const noexcept
 
const MemManagerGetMemManager () const noexcept
 
MemManagerGetMemManager () 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, ConstPositionFind (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
 

Static Public Attributes

static const size_t bucketMaxItemCount = Bucket::maxCount
 

Detailed Description

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:

  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.

Member Typedef Documentation

◆ ConstBucketBounds

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef BucketBounds::ConstBounds momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ConstBucketBounds

◆ ConstIterator

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef internal::HashSetConstIterator<Bucket, Settings> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ConstIterator

◆ ConstPosition

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef ConstIterator::Position momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ConstPosition

◆ ExtractedItem

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef internal::SetExtractedItem<ItemTraits, Settings> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ExtractedItem

◆ HashTraits

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef THashTraits momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashTraits

◆ InsertResult

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef internal::InsertResult<ConstPosition> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::InsertResult

◆ Item

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef ItemTraits::Item momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Item

◆ ItemTraits

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef TItemTraits momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ItemTraits

◆ Iterator

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef ConstIterator momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Iterator

◆ Key

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef TKey momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Key

◆ MemManager

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef TMemManager momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MemManager

◆ Position

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Position

◆ Settings

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
typedef TSettings momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Settings

Constructor & Destructor Documentation

◆ HashSet() [1/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( )
inline

◆ HashSet() [2/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashSet() [3/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( std::initializer_list< Item items)
inline

◆ HashSet() [4/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( std::initializer_list< Item items,
const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashSet() [5/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &&  hashSet)
inlinenoexcept

◆ HashSet() [6/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( const HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &  hashSet)
inline

◆ HashSet() [7/7]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::HashSet ( const HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &  hashSet,
MemManager  memManager 
)
inlineexplicit

◆ ~HashSet()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::~HashSet ( )
inlinenoexcept

Member Function Documentation

◆ Add() [1/3]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Add ( ConstPosition  pos,
const Item item 
)
inline

◆ Add() [2/3]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Add ( ConstPosition  pos,
ExtractedItem &&  extItem 
)
inline

◆ Add() [3/3]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Add ( ConstPosition  pos,
Item &&  item 
)
inline

◆ AddCrt()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename ItemCreator , bool extraCheck = true>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::AddCrt ( ConstPosition  pos,
ItemCreator &&  itemCreator 
)
inline

◆ AddVar()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename... ItemArgs>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::AddVar ( ConstPosition  pos,
ItemArgs &&...  itemArgs 
)
inline

◆ CheckIterator()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::CheckIterator ( ConstIterator  iter,
bool  allowEmpty = true 
) const
inline

◆ Clear()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Clear ( bool  shrink = true)
inlinenoexcept

◆ ContainsKey() [1/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
MOMO_FORCEINLINE bool momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ContainsKey ( const Key key) const
inline

◆ ContainsKey() [2/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, bool> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ContainsKey ( const KeyArg &  key) const
inline

◆ Extract()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ExtractedItem momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Extract ( ConstPosition  pos)
inline

◆ Find() [1/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
MOMO_FORCEINLINE ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Find ( const Key key) const
inline

◆ Find() [2/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstPosition> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Find ( const KeyArg &  key) const
inline

◆ GetBegin()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstIterator momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetBegin ( ) const
inlinenoexcept

◆ GetBucketBounds()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstBucketBounds momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetBucketBounds ( size_t  bucketIndex) const
inline

◆ GetBucketCount()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetBucketCount ( ) const
inlinenoexcept

◆ GetBucketIndex()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetBucketIndex ( const Key key) const
inline

◆ GetCapacity()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetCapacity ( ) const
inlinenoexcept

◆ GetCount()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetCount ( ) const
inlinenoexcept

◆ GetEnd()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstIterator momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetEnd ( ) const
inlinenoexcept

◆ GetHashTraits()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
const HashTraits& momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetHashTraits ( ) const
inlinenoexcept

◆ GetMemManager() [1/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
const MemManager& momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetMemManager ( ) const
inlinenoexcept

◆ GetMemManager() [2/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
MemManager& momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::GetMemManager ( )
inlinenoexcept

◆ Insert() [1/5]

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

◆ Insert() [2/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
InsertResult momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Insert ( const Item item)
inline

◆ Insert() [3/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
InsertResult momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Insert ( ExtractedItem &&  extItem)
inline

◆ Insert() [4/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
InsertResult momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Insert ( Item &&  item)
inline

◆ Insert() [5/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Insert ( std::initializer_list< Item items)
inline

◆ InsertCrt()

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

◆ InsertVar()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename... ItemArgs>
InsertResult momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::InsertVar ( const Key key,
ItemArgs &&...  itemArgs 
)
inline

◆ IsEmpty()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
bool momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::IsEmpty ( ) const
inlinenoexcept

◆ MakePosition()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstPosition momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MakePosition ( size_t  hashCode) const
inlinenoexcept

◆ MergeFrom()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename RSet >
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MergeFrom ( RSet &&  srcSet)
inline

◆ MergeTo() [1/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MergeTo ( HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &  dstHashSet)
inline

◆ MergeTo() [2/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename Set >
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MergeTo ( Set &  dstSet)
inline

◆ MOMO_STATIC_ASSERT()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::MOMO_STATIC_ASSERT ( internal::ObjectAlignmenter< Item ::CheckItemTraits::alignment)

◆ operator=() [1/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
HashSet& momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::operator= ( const HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &  hashSet)
inline

◆ operator=() [2/2]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
HashSet& momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::operator= ( HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &&  hashSet)
inlinenoexcept

◆ Remove() [1/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename ItemFilter >
internal::EnableIf<internal::IsInvocable<const ItemFilter&, bool, const Item&>::value, size_t> momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Remove ( const ItemFilter &  itemFilter)
inline

◆ Remove() [2/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
bool momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Remove ( const Key key)
inline

◆ Remove() [3/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstIterator momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Remove ( ConstIterator  iter)
inline

◆ Remove() [4/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
ConstIterator momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Remove ( ConstIterator  iter,
ExtractedItem extItem 
)
inline

◆ Remove() [5/5]

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Remove ( ConstPosition  pos)
inline

◆ Reserve()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Reserve ( size_t  capacity)
inline

◆ ResetKey()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
template<typename KeyArg , bool extraCheck = true>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::ResetKey ( ConstPosition  pos,
KeyArg &&  keyArg 
)
inline

◆ Swap()

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
void momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::Swap ( HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings > &  hashSet)
inlinenoexcept

Member Data Documentation

◆ bucketMaxItemCount

template<typename TKey , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TItemTraits = HashSetItemTraits<TKey, TMemManager>, typename TSettings = HashSetSettings>
const size_t momo::HashSet< TKey, THashTraits, TMemManager, TItemTraits, TSettings >::bucketMaxItemCount = Bucket::maxCount
static

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