momo  3.9
momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount > Class Template Reference

#include <HashBucketLim4.h>

Inheritance diagram for momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >:
momo::internal::BucketBase

Classes

class  Params
 

Public Types

typedef ItemTraits::Item Item
 
typedef ItemTraits::MemManager MemManager
 
typedef ItemIterator
 
typedef ArrayBounds< IteratorBounds
 

Public Member Functions

 BucketLim4 () noexcept
 
 BucketLim4 (const BucketLim4 &)=delete
 
 ~BucketLim4 () noexcept
 
BucketLim4operator= (const BucketLim4 &)=delete
 
Bounds GetBounds (Params &params) noexcept
 
template<bool first, typename ItemPredicate >
MOMO_FORCEINLINE Iterator Find (Params &params, const ItemPredicate &itemPred, size_t)
 
bool IsFull () const noexcept
 
bool WasFull () const noexcept
 
void Clear (Params &) noexcept
 
template<typename ItemCreator >
Iterator AddCrt (Params &params, ItemCreator &&itemCreator, size_t, size_t, size_t)
 
template<typename ItemReplacer >
Iterator Remove (Params &params, Iterator iter, ItemReplacer &&itemReplacer)
 
- 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 Attributes

static const size_t maxCount = size_t{1} << logMaxCount
 
static const bool isNothrowAddableIfNothrowCreatable = false
 

Protected Types

typedef TItemTraits ItemTraits
 

Protected Member Functions

 MOMO_STATIC_ASSERT (0< logMaxCount &&logMaxCount<=4)
 

Static Protected Attributes

static const size_t logMaxCount = tLogMaxCount
 
static const size_t memPoolBlockCount = tMemPoolBlockCount
 

Additional Inherited Members

- 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
 

Member Typedef Documentation

◆ Bounds

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
typedef ArrayBounds<Iterator> momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Bounds

◆ Item

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
typedef ItemTraits::Item momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Item

◆ ItemTraits

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
typedef TItemTraits momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::ItemTraits
protected

◆ Iterator

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
typedef Item* momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Iterator

◆ MemManager

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
typedef ItemTraits::MemManager momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::MemManager

Constructor & Destructor Documentation

◆ BucketLim4() [1/2]

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::BucketLim4 ( )
inlineexplicitnoexcept

◆ BucketLim4() [2/2]

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::BucketLim4 ( const BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount > &  )
delete

◆ ~BucketLim4()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::~BucketLim4 ( )
inlinenoexcept

Member Function Documentation

◆ AddCrt()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
template<typename ItemCreator >
Iterator momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::AddCrt ( Params params,
ItemCreator &&  itemCreator,
size_t  ,
size_t  ,
size_t   
)
inline

◆ Clear()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
void momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Clear ( Params )
inlinenoexcept

◆ Find()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
template<bool first, typename ItemPredicate >
MOMO_FORCEINLINE Iterator momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Find ( Params params,
const ItemPredicate &  itemPred,
size_t   
)
inline

◆ GetBounds()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
Bounds momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::GetBounds ( Params params)
inlinenoexcept

◆ IsFull()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
bool momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::IsFull ( ) const
inlinenoexcept

◆ MOMO_STATIC_ASSERT()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::MOMO_STATIC_ASSERT ( )
protected

◆ operator=()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
BucketLim4& momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::operator= ( const BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount > &  )
delete

◆ Remove()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
template<typename ItemReplacer >
Iterator momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::Remove ( Params params,
Iterator  iter,
ItemReplacer &&  itemReplacer 
)
inline

◆ WasFull()

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
bool momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::WasFull ( ) const
inlinenoexcept

Member Data Documentation

◆ isNothrowAddableIfNothrowCreatable

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
const bool momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::isNothrowAddableIfNothrowCreatable = false
static

◆ logMaxCount

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
const size_t momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::logMaxCount = tLogMaxCount
staticprotected

◆ maxCount

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
const size_t momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::maxCount = size_t{1} << logMaxCount
static

◆ memPoolBlockCount

template<typename TItemTraits , size_t tLogMaxCount, size_t tMemPoolBlockCount>
const size_t momo::internal::BucketLim4< TItemTraits, tLogMaxCount, tMemPoolBlockCount >::memPoolBlockCount = tMemPoolBlockCount
staticprotected

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