libstdc++: __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > Class Template Reference

libstdc++

__gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > Class Template Reference

`#include <hash_policy.hpp>`

## Public Types
enum | { external_load_access }
typedef Size_Type | size_type

## Public Member Functions
| cc_hash_max_collision_check_resize_trigger (float load=0.5)
float | get_load () const
void | set_load (float load)
void | swap (cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > &other)

## Protected Member Functions
bool | is_grow_needed (size_type size, size_type num_entries) const
bool | is_resize_needed () const
void | notify_cleared ()
void | notify_erase_search_collision ()
void | notify_erase_search_end ()
void | notify_erase_search_start ()
void | notify_erased (size_type num_entries)
void | notify_externally_resized (size_type new_size)
void | notify_find_search_collision ()
void | notify_find_search_end ()
void | notify_find_search_start ()
void | notify_insert_search_collision ()
void | notify_insert_search_end ()
void | notify_insert_search_start ()
void | notify_inserted (size_type num_entries)
void | notify_resized (size_type new_size)

## Detailed Description

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
class __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >

A resize trigger policy based on collision checks. It keeps the simulated load factor lower than some given load factor.

Definition at line 293 of file hash_policy.hpp.

## Member Typedef Documentation

## ◆ size_type

template<bool External_Load_Access = false, typename Size_Type = std::size_t>

typedef Size_Type __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::size_type

Definition at line 296 of file hash_policy.hpp.

## Member Enumeration Documentation

## ◆ anonymous enum

template<bool External_Load_Access = false, typename Size_Type = std::size_t>

anonymous enum

Enumerator
external_load_access | Specifies whether the load factor can be accessed externally. The two options have different trade-offs in terms of flexibility, genericity, and encapsulation.

Definition at line 298 of file hash_policy.hpp.

## Constructor & Destructor Documentation

## ◆ cc_hash_max_collision_check_resize_trigger()

template<bool External_Load_Access, typename Size_Type>

__gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::cc_hash_max_collision_check_resize_trigger | ( | float | load = 0.5 | ) |

Default constructor, or constructor taking load, a __load factor which it will attempt to maintain.

Definition at line 45 of file hash_policy.hpp.

## Member Function Documentation

## ◆ get_load()

template<bool External_Load_Access, typename Size_Type>

float __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::get_load | ( |  | ) | const
| inline

Returns the current load.

Definition at line 191 of file hash_policy.hpp.

## ◆ is_grow_needed()

template<bool External_Load_Access, typename Size_Type>

bool __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::is_grow_needed | ( | size_type | size,
|  | size_type | num_entries ) const
| inlineprotected

Queries whether a grow is needed. This method is called only if this object indicated is needed.

Definition at line 134 of file hash_policy.hpp.

## ◆ is_resize_needed()

template<bool External_Load_Access, typename Size_Type>

bool __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::is_resize_needed | ( |  | ) | const
| inlineprotected

Queries whether a resize is needed.

Definition at line 128 of file hash_policy.hpp.

## ◆ notify_cleared()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_cleared | ( |  | ) |
| protected

Notifies the table was cleared.

Definition at line 122 of file hash_policy.hpp.

References notify_resized().

## ◆ notify_erase_search_collision()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_collision | ( |  | ) |
| inlineprotected

Notifies a search encountered a collision.

Definition at line 98 of file hash_policy.hpp.

## ◆ notify_erase_search_end()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_end | ( |  | ) |
| inlineprotected

Notifies a search ended.

Definition at line 104 of file hash_policy.hpp.

## ◆ notify_erase_search_start()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_start | ( |  | ) |
| inlineprotected

Notifies an erase search started.

Definition at line 92 of file hash_policy.hpp.

## ◆ notify_erased()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_erased | ( | size_type | num_entries | ) |
| inlineprotected

Notifies an element was erased.

Definition at line 116 of file hash_policy.hpp.

## ◆ notify_externally_resized()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_externally_resized | ( | size_type | new_size | ) |
| protected

Notifies the table was resized externally.

Definition at line 173 of file hash_policy.hpp.

## ◆ notify_find_search_collision()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_collision | ( |  | ) |
| inlineprotected

Notifies a search encountered a collision.

Definition at line 62 of file hash_policy.hpp.

## ◆ notify_find_search_end()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_end | ( |  | ) |
| inlineprotected

Notifies a search ended.

Definition at line 68 of file hash_policy.hpp.

## ◆ notify_find_search_start()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_start | ( |  | ) |
| inlineprotected

Notifies a find search started.

Definition at line 56 of file hash_policy.hpp.

## ◆ notify_insert_search_collision()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_collision | ( |  | ) |
| inlineprotected

Notifies a search encountered a collision.

Definition at line 80 of file hash_policy.hpp.

## ◆ notify_insert_search_end()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_end | ( |  | ) |
| inlineprotected

Notifies a search ended.

Definition at line 86 of file hash_policy.hpp.

## ◆ notify_insert_search_start()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_start | ( |  | ) |
| inlineprotected

Notifies an insert search started.

Definition at line 74 of file hash_policy.hpp.

## ◆ notify_inserted()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_inserted | ( | size_type | num_entries | ) |
| inlineprotected

Notifies an element was inserted.

Definition at line 110 of file hash_policy.hpp.

## ◆ notify_resized()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_resized | ( | size_type | new_size | ) |
| protected

Notifies the table was resized as a result of this object's signifying that a resize is needed.

Definition at line 140 of file hash_policy.hpp.

Referenced by notify_cleared().

## ◆ set_load()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::set_load | ( | float | load | ) |

Sets the load; does not resize the container.

Definition at line 206 of file hash_policy.hpp.

## ◆ swap()

template<bool External_Load_Access, typename Size_Type>

void __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::swap | ( | cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > & | other | ) |

Definition at line 179 of file hash_policy.hpp.

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

- hash_policy.hpp