IOSS 2.0

Public Member Functions | Private Attributes | Static Private Attributes | List of all members
tsl::hh::mod_growth_policy< GrowthFactor > Class Template Reference

`#include <hopscotch_growth_policy.h>`

## Public Member Functions
| mod_growth_policy (std::size_t &min_bucket_count_in_out)
std::size_t | bucket_for_hash (std::size_t hash) const noexcept
std::size_t | next_bucket_count () const
std::size_t | max_bucket_count () const
void | clear () noexcept

## Private Attributes
std::size_t | m_mod

## Static Private Attributes
static constexpr double | REHASH_SIZE_MULTIPLICATION_FACTOR
static const std::size_t | MAX_BUCKET_COUNT

## Detailed Description

### template<class GrowthFactor = std::ratio<3, 2>>
class tsl::hh::mod_growth_policy< GrowthFactor >

Grow the hash table by GrowthFactor::num / GrowthFactor::den and use a modulo to map a hash to a bucket. Slower but it can be useful if you want a slower growth.

## Constructor & Destructor Documentation

## ◆ mod_growth_policy()

template<class GrowthFactor = std::ratio<3, 2>>

tsl::hh::mod_growth_policy< GrowthFactor >::mod_growth_policy | ( | std::size_t & | min_bucket_count_in_out | ) |
| inlineexplicit

## Member Function Documentation

## ◆ bucket_for_hash()

template<class GrowthFactor = std::ratio<3, 2>>

std::size_t tsl::hh::mod_growth_policy< GrowthFactor >::bucket_for_hash | ( | std::size_t | hash | ) | const
| inlinenoexcept

## ◆ clear()

template<class GrowthFactor = std::ratio<3, 2>>

void tsl::hh::mod_growth_policy< GrowthFactor >::clear | ( |  | ) |
| inlinenoexcept

## ◆ max_bucket_count()

template<class GrowthFactor = std::ratio<3, 2>>

std::size_t tsl::hh::mod_growth_policy< GrowthFactor >::max_bucket_count | ( |  | ) | const
| inline

## ◆ next_bucket_count()

template<class GrowthFactor = std::ratio<3, 2>>

std::size_t tsl::hh::mod_growth_policy< GrowthFactor >::next_bucket_count | ( |  | ) | const
| inline

## Member Data Documentation

## ◆ m_mod

template<class GrowthFactor = std::ratio<3, 2>>

std::size_t tsl::hh::mod_growth_policy< GrowthFactor >::m_mod
| private

## ◆ MAX_BUCKET_COUNT

template<class GrowthFactor = std::ratio<3, 2>>

const std::size_t tsl::hh::mod_growth_policy< GrowthFactor >::MAX_BUCKET_COUNT
| staticprivate

Initial value:
= std::size_t(
double(std::numeric_limits<std::size_t>::max() / REHASH_SIZE_MULTIPLICATION_FACTOR))

## ◆ REHASH_SIZE_MULTIPLICATION_FACTOR

template<class GrowthFactor = std::ratio<3, 2>>

constexpr double tsl::hh::mod_growth_policy< GrowthFactor >::REHASH_SIZE_MULTIPLICATION_FACTOR
| staticconstexprprivate

Initial value:
=
1.0 * GrowthFactor::num / GrowthFactor::den

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

- src/hash/hopscotch_growth_policy.h

tsl::hh::mod_growth_policy::REHASH_SIZE_MULTIPLICATION_FACTOR
static constexpr double REHASH_SIZE_MULTIPLICATION_FACTOR
Definition: hopscotch_growth_policy.h:185