momo  3.9
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter > Class Template Reference

#include <HashBucketOpen2N2.h>

Inheritance diagram for momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >:
momo::internal::BucketBase

Public Types

typedef ItemTraits::Item Item
 
typedef ItemTraits::MemManager MemManager
 
typedef std::reverse_iterator< Item * > Iterator
 
typedef ArrayBounds< IteratorBounds
 
typedef BucketParamsOpen< MemManagerParams
 

Public Member Functions

 MOMO_STATIC_ASSERT (0< maxCount &&maxCount< 4)
 
 BucketOpen2N2 () noexcept
 
 BucketOpen2N2 (const BucketOpen2N2 &)=delete
 
 ~BucketOpen2N2 () noexcept
 
BucketOpen2N2operator= (const BucketOpen2N2 &)=delete
 
Bounds GetBounds (Params &) noexcept
 
template<bool first, typename ItemPredicate >
MOMO_FORCEINLINE Iterator Find (Params &, const ItemPredicate &itemPred, size_t hashCode)
 
bool IsFull () const noexcept
 
bool WasFull () const noexcept
 
size_t GetMaxProbe (size_t) const noexcept
 
void UpdateMaxProbe (size_t probe) noexcept
 
void Clear (Params &) noexcept
 
template<typename ItemCreator >
Iterator AddCrt (Params &, ItemCreator &&itemCreator, size_t hashCode, size_t logBucketCount, size_t probe) noexcept(noexcept(std::forward< ItemCreator >(itemCreator)(std::declval< Item * >())))
 
template<typename ItemReplacer >
Iterator Remove (Params &, Iterator iter, ItemReplacer &&itemReplacer)
 
template<typename HashCodeFullGetter >
size_t GetHashCodePart (const HashCodeFullGetter &hashCodeFullGetter, Iterator iter, size_t bucketIndex, size_t logBucketCount, size_t newLogBucketCount)
 
- Public Member Functions inherited from momo::internal::BucketBase
size_t GetMaxProbe (size_t logBucketCount) const noexcept
 
void UpdateMaxProbe (size_t) noexcept
 
template<typename HashCodeFullGetter , typename Iterator >
size_t GetHashCodePart (const HashCodeFullGetter &hashCodeFullGetter, Iterator, size_t, size_t, size_t)
 

Static Public Member Functions

static size_t GetNextBucketIndex (size_t bucketIndex, size_t, size_t bucketCount, size_t probe) noexcept
 
- Static Public Member Functions inherited from momo::internal::BucketBase
static size_t GetStartBucketIndex (size_t hashCode, size_t bucketCount) noexcept
 
static size_t GetNextBucketIndex (size_t bucketIndex, size_t, size_t bucketCount, size_t) noexcept
 

Static Public Attributes

static const size_t maxCount = tMaxCount
 
static const bool isNothrowAddableIfNothrowCreatable = true
 

Protected Types

typedef TItemTraits ItemTraits
 

Static Protected Attributes

static const bool useHashCodePartGetter = tUseHashCodePartGetter
 

Member Typedef Documentation

◆ Bounds

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef ArrayBounds<Iterator> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Bounds

◆ Item

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef ItemTraits::Item momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Item

◆ ItemTraits

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef TItemTraits momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::ItemTraits
protected

◆ Iterator

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef std::reverse_iterator<Item*> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Iterator

◆ MemManager

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef ItemTraits::MemManager momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::MemManager

◆ Params

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
typedef BucketParamsOpen<MemManager> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Params

Constructor & Destructor Documentation

◆ BucketOpen2N2() [1/2]

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::BucketOpen2N2 ( )
inlineexplicitnoexcept

◆ BucketOpen2N2() [2/2]

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::BucketOpen2N2 ( const BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter > &  )
delete

◆ ~BucketOpen2N2()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::~BucketOpen2N2 ( )
inlinenoexcept

Member Function Documentation

◆ AddCrt()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
template<typename ItemCreator >
Iterator momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::AddCrt ( Params ,
ItemCreator &&  itemCreator,
size_t  hashCode,
size_t  logBucketCount,
size_t  probe 
)
inlinenoexcept

◆ Clear()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
void momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Clear ( Params )
inlinenoexcept

◆ Find()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
template<bool first, typename ItemPredicate >
MOMO_FORCEINLINE Iterator momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Find ( Params ,
const ItemPredicate &  itemPred,
size_t  hashCode 
)
inline

◆ GetBounds()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
Bounds momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::GetBounds ( Params )
inlinenoexcept

◆ GetHashCodePart()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
template<typename HashCodeFullGetter >
size_t momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::GetHashCodePart ( const HashCodeFullGetter &  hashCodeFullGetter,
Iterator  iter,
size_t  bucketIndex,
size_t  logBucketCount,
size_t  newLogBucketCount 
)
inline

◆ GetMaxProbe()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
size_t momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::GetMaxProbe ( size_t  ) const
inlinenoexcept

◆ GetNextBucketIndex()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
static size_t momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::GetNextBucketIndex ( size_t  bucketIndex,
size_t  ,
size_t  bucketCount,
size_t  probe 
)
inlinestaticnoexcept

◆ IsFull()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
bool momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::IsFull ( ) const
inlinenoexcept

◆ MOMO_STATIC_ASSERT()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::MOMO_STATIC_ASSERT ( )

◆ operator=()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
BucketOpen2N2& momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::operator= ( const BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter > &  )
delete

◆ Remove()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
template<typename ItemReplacer >
Iterator momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Remove ( Params ,
Iterator  iter,
ItemReplacer &&  itemReplacer 
)
inline

◆ UpdateMaxProbe()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
void momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::UpdateMaxProbe ( size_t  probe)
inlinenoexcept

◆ WasFull()

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
bool momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::WasFull ( ) const
inlinenoexcept

Member Data Documentation

◆ isNothrowAddableIfNothrowCreatable

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
const bool momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::isNothrowAddableIfNothrowCreatable = true
static

◆ maxCount

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
const size_t momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::maxCount = tMaxCount
static

◆ useHashCodePartGetter

template<typename TItemTraits , size_t tMaxCount, bool tUseHashCodePartGetter>
const bool momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::useHashCodePartGetter = tUseHashCodePartGetter
staticprotected

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