__gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

__gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type > - A resize trigger policy based on a load check. It keeps the load factor between some load factors load_min and load_max.

 

SYNOPSIS


Inherits __gnu_pbds::detail::hash_load_check_resize_trigger_size_base< Size_Type, External_Load_Access >.  

Public Types


enum { external_load_access }

typedef Size_Type size_type
 

Public Member Functions


hash_load_check_resize_trigger (float load_min=0.125, float load_max=0.5)
Default constructor, or constructor taking load_min and load_max load factors between which this policy will keep the actual load.
std::pair< float, float > get_loads () const
Returns a pair of the minimal and maximal loads, respectively.
void set_loads (std::pair< float, float > load_pair)
Sets the loads through a pair of the minimal and maximal loads, respectively.
void swap (hash_load_check_resize_trigger &other)
 

Protected Member Functions


bool is_grow_needed (size_type size, size_type num_entries) const

bool is_resize_needed () const

void notify_cleared ()
Notifies the table was 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)
Notifies an element was inserted. The total number of entries in the table is num_entries.
void notify_resized (size_type new_size)
Notifies the table was resized as a result of this object's signifying that a resize is needed.  

Detailed Description

 

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


class __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >" A resize trigger policy based on a load check. It keeps the load factor between some load factors load_min and load_max.

Definition at line 175 of file hash_policy.hpp.  

Member Enumeration Documentation

 

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 180 of file hash_policy.hpp.  

Constructor & Destructor Documentation

 

template<bool External_Load_Access, typename Size_Type > __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::hash_load_check_resize_trigger (float load_min = 0.125, float load_max = 0.5)

Default constructor, or constructor taking load_min and load_max load factors between which this policy will keep the actual load.

Definition at line 47 of file hash_policy.hpp.  

Member Function Documentation

 

template<bool External_Load_Access, typename Size_Type > std::pair< float, float > __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::get_loads () const [inline]

Returns a pair of the minimal and maximal loads, respectively.

Definition at line 236 of file hash_policy.hpp.  

template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_cleared () [protected]

Notifies the table was cleared.

Definition at line 206 of file hash_policy.hpp.  

template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_inserted (size_type num_entries) [inline], [protected]

Notifies an element was inserted. The total number of entries in the table is num_entries.

Definition at line 109 of file hash_policy.hpp.  

template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_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 151 of file hash_policy.hpp.  

template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::set_loads (std::pair< float, float > load_pair)

Sets the loads through a pair of the minimal and maximal loads, respectively.

Definition at line 245 of file hash_policy.hpp.

 

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Protected Member Functions
Detailed Description
template<bool External_Load_Access = false, typename Size_Type = std::size_t>
Member Enumeration Documentation
template<bool External_Load_Access = false, typename Size_Type = std::size_t> anonymous enum
Constructor & Destructor Documentation
template<bool External_Load_Access, typename Size_Type > __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::hash_load_check_resize_trigger (float load_min = 0.125, float load_max = 0.5)
Member Function Documentation
template<bool External_Load_Access, typename Size_Type > std::pair< float, float > __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::get_loads () const [inline]
template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_cleared () [protected]
template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_inserted (size_type num_entries) [inline], [protected]
template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_resized (size_type new_size) [protected]
template<bool External_Load_Access, typename Size_Type > void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::set_loads (std::pair< float, float > load_pair)
Author