__gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >(3cxx) | __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >(3cxx) |
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¶
#include <hash_policy.hpp>
Inherits __gnu_pbds::detail::hash_load_check_resize_trigger_size_base< Size_Type, Hold_Size >.
Inherited by __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >.
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.
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.
Constructor & Destructor Documentation¶
template<bool External_Load_Access = false, typename Size_Type = std::size_t> __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.
Member Function Documentation¶
template<bool External_Load_Access = false, typename Size_Type = std::size_t> 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.
template<bool External_Load_Access = false, typename Size_Type = std::size_t> void __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_cleared () [protected]¶
Notifies the table was cleared.
template<bool External_Load_Access = false, typename Size_Type = std::size_t> 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.
template<bool External_Load_Access = false, typename Size_Type = std::size_t> 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.
template<bool External_Load_Access = false, typename Size_Type = std::size_t> 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.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |