Provided by: libstdc++-9-doc_9.5.0-3ubuntu1_all
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. Definition at line 489 of file hash_policy.hpp.
Member Typedef 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> typedef Size_Policy __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::size_policy Definition at line 495 of file hash_policy.hpp. 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> typedef Size_Type __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::size_type Definition at line 493 of file hash_policy.hpp. 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> typedef Trigger_Policy __gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::trigger_policy Definition at line 494 of file hash_policy.hpp.
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. Definition at line 180 of file hash_policy.hpp. 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> anonymous enum Definition at line 497 of file hash_policy.hpp.
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. _gnu_pbds::hashtstandard_resize_policy< Size_Policy,TTrigger2Policy, External_Size_Access, Size_Type >(3cxx)