Provided by: libstdc++-11-doc_11.5.0-1ubuntu1~24.04_all 

__gnu_pbds::hash_stand...ize_Access, Size_Type >(3cxx) __gnu_pbds::hash_stand...ize_Access, Size_Type >(3cxx)
NAME
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type > -
A resize policy which delegates operations to size and trigger policies.
SYNOPSIS
#include <hash_policy.hpp>
Inherits __gnu_pbds::hash_exponential_size_policy< Size_Type >, and
__gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >.
Public Types
enum { external_load_access }
enum { external_size_access }
typedef Size_Policy size_policy
typedef Size_Type size_type
typedef Trigger_Policy trigger_policy
Public Member Functions
hash_standard_resize_policy ()
Default constructor.
hash_standard_resize_policy (const Size_Policy &r_size_policy)
constructor taking some policies r_size_policy will be copied by the Size_Policy object of this
object.
hash_standard_resize_policy (const Size_Policy &r_size_policy, const Trigger_Policy &r_trigger_policy)
constructor taking some policies. r_size_policy will be copied by the Size_Policy object of this
object. r_trigger_policy will be copied by the Trigger_Policy object of this object.
size_type get_actual_size () const
Returns the actual size of the container.
std::pair< float, float > get_loads () const
Returns a pair of the minimal and maximal loads, respectively.
Size_Policy & get_size_policy ()
Access to the Size_Policy object used.
const Size_Policy & get_size_policy () const
Const access to the Size_Policy object used.
Trigger_Policy & get_trigger_policy ()
Access to the Trigger_Policy object used.
const Trigger_Policy & get_trigger_policy () const
Access to the Trigger_Policy object used.
void resize (size_type suggested_new_size)
Resizes the container to suggested_new_size, a suggested size (the actual size will be determined by
the Size_Policy object).
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_exponential_size_policy< Size_Type > &other)
void swap (hash_load_check_resize_trigger &other)
void swap (hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >
&other)
Protected Member Functions
size_type get_nearest_larger_size (size_type size) const
size_type get_nearest_smaller_size (size_type size) const
size_type get_new_size (size_type size, size_type num_used_e) const
Queries what the new size should be, when the container is resized naturally. The current __size of
the container is size, and the number of used entries within the container is num_used_e.
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_e)
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_e)
void notify_resized (size_type new_size)
Detailed Description
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
class __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access,
Size_Type >"A resize policy which delegates operations to size and trigger policies.
Member Enumeration Documentation
template<bool External_Load_Access = false, typename Size_Type = std::size_t> anonymous enum [inherited]
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<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type
>::hash_standard_resize_policy ()
Default constructor.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type
>::hash_standard_resize_policy (const Size_Policy & r_size_policy)
constructor taking some policies r_size_policy will be copied by the Size_Policy object of this object.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type
>::hash_standard_resize_policy (const Size_Policy & r_size_policy, const Trigger_Policy &
r_trigger_policy)
constructor taking some policies. r_size_policy will be copied by the Size_Policy object of this object.
r_trigger_policy will be copied by the Trigger_Policy object of this object.
Member Function Documentation
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
size_type __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access,
Size_Type >::get_actual_size () const [inline]
Returns the actual size of the container.
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], [inherited]
Returns a pair of the minimal and maximal loads, respectively.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
size_type __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access,
Size_Type >::get_new_size (size_type size, size_type num_used_e) const [protected]
Queries what the new size should be, when the container is resized naturally. The current __size of the
container is size, and the number of used entries within the container is num_used_e.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
Size_Policy & __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access,
Size_Type >::get_size_policy ()
Access to the Size_Policy object used.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
const Size_Policy & __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy,
External_Size_Access, Size_Type >::get_size_policy () const
Const access to the Size_Policy object used.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
Trigger_Policy & __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy,
External_Size_Access, Size_Type >::get_trigger_policy ()
Access to the Trigger_Policy object used.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
const Trigger_Policy & __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy,
External_Size_Access, Size_Type >::get_trigger_policy () const
Access to the Trigger_Policy object used.
template<typename Size_Policy = hash_exponential_size_policy<>, typename Trigger_Policy =
hash_load_check_resize_trigger<>, bool External_Size_Access = false, typename Size_Type = std::size_t>
void __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access,
Size_Type >::resize (size_type suggested_new_size)
Resizes the container to suggested_new_size, a suggested size (the actual size will be determined by the
Size_Policy object).
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) [inherited]
Sets the loads through a pair of the minimal and maximal loads, respectively.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstd__gnu_pbds::hash_stand...ize_Access, Size_Type >(3cxx)