cds  2.3.2
cds::intrusive::striped_set::rational_load_factor_resizing< 0, Denominator > Struct Template Reference

Rational load factor resizing policy. More...

#include <cds/intrusive/striped_set/resizing_policy.h>

Public Member Functions

 rational_load_factor_resizing ()
 Default ctor, load factor is 1/2.
 
 rational_load_factor_resizing (size_t nNumerator, size_t nDenominator)
 Ctor with explicitly defined nLoadFactor.
 
 rational_load_factor_resizing (rational_load_factor_resizing const &src)
 Copy ctor.
 
 rational_load_factor_resizing (rational_load_factor_resizing &&src)
 Move ctor.
 
template<typename Container , typename Bucket >
bool operator() (size_t nSize, Container const &container, Bucket const &)
 Main policy operator returns true when resizing is needed. More...
 
void reset ()
 Resets internal state of the policy (does nothing)
 

Detailed Description

template<size_t Denominator>
struct cds::intrusive::striped_set::rational_load_factor_resizing< 0, Denominator >

Rational load factor resizing policy.

When total item count in a container exceeds container.bucket_count() * Numerator / Denominator then resizing is needed.

This policy is stateful: Numerator and Denominator specifies in construction time.

Member Function Documentation

◆ operator()()

template<size_t Denominator>
template<typename Container , typename Bucket >
bool cds::intrusive::striped_set::rational_load_factor_resizing< 0, Denominator >::operator() ( size_t  nSize,
Container const &  container,
Bucket const &   
)
inline

Main policy operator returns true when resizing is needed.

Parameters
nSizeCurrent item count of container
containerContainer

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

cds 2.3.2 Developed by Maxim Khizhinsky aka khizmax and other contributors 2007 - 2017
Autogenerated Sun Dec 31 2017 12:10:48 by Doxygen 1.8.13