momo
3.9
|
#include <HashBucketOpen2N2.h>
Public Types | |
typedef ItemTraits::Item | Item |
typedef ItemTraits::MemManager | MemManager |
typedef std::reverse_iterator< Item * > | Iterator |
typedef ArrayBounds< Iterator > | Bounds |
typedef BucketParamsOpen< MemManager > | Params |
Public Member Functions | |
MOMO_STATIC_ASSERT (0< maxCount &&maxCount< 4) | |
BucketOpen2N2 () noexcept | |
BucketOpen2N2 (const BucketOpen2N2 &)=delete | |
~BucketOpen2N2 () noexcept | |
BucketOpen2N2 & | operator= (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 |
typedef ArrayBounds<Iterator> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Bounds |
typedef ItemTraits::Item momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Item |
|
protected |
typedef std::reverse_iterator<Item*> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Iterator |
typedef ItemTraits::MemManager momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::MemManager |
typedef BucketParamsOpen<MemManager> momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::Params |
|
inlineexplicitnoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinestaticnoexcept |
|
inlinenoexcept |
momo::internal::BucketOpen2N2< TItemTraits, tMaxCount, tUseHashCodePartGetter >::MOMO_STATIC_ASSERT | ( | ) |
|
delete |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
|
static |
|
staticprotected |