__gnu_pbds::cc_hash_max_collision_check_resize_trigger<eExternal_Load_Access,lSize_Typee>(3)Size_Type >(3)
NAME
__gnu_pbds::cc_hash_max_collision_check_resize_trigger<
External_Load_Access, Size_Type > -
SYNOPSIS
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 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 298 of file hash_policy.hpp.
Constructor & Destructor Documentation
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 (floatload = 0.5)
Default constructor, or constructor taking load, a __load factor which
it will attempt to maintain.
Definition at line 44 of file hash_policy.hpp.
Member Function Documentation
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 190 of file hash_policy.hpp.
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_typesize,
size_typenum_entries) const [inline], [protected]
Queries whether a grow is needed. This method is called only if this
object indicated is needed.
Definition at line 133 of file hash_policy.hpp.
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 [inline],
[protected]
Queries whether a resize is needed.
Definition at line 127 of file hash_policy.hpp.
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 121 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies a search encountered a collision.
Definition at line 97 of file hash_policy.hpp.
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 () [inline],
[protected]
Notifies a search ended.
Definition at line 103 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies an erase search started.
Definition at line 91 of file hash_policy.hpp.
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_typenum_entries)
[inline], [protected]
Notifies an element was erased.
Definition at line 115 of file hash_policy.hpp.
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_typenew_size) [protected]
Notifies the table was resized externally.
Definition at line 172 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies a search encountered a collision.
Definition at line 61 of file hash_policy.hpp.
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 () [inline],
[protected]
Notifies a search ended.
Definition at line 67 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies a find search started.
Definition at line 55 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies a search encountered a collision.
Definition at line 79 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies a search ended.
Definition at line 85 of file hash_policy.hpp.
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 ()
[inline], [protected]
Notifies an insert search started.
Definition at line 73 of file hash_policy.hpp.
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_typenum_entries) [inline], [protected]
Notifies an element was inserted.
Definition at line 109 of file hash_policy.hpp.
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_typenew_size)
[protected]
Notifies the table was resized as a result of this object's signifying
that a resize is needed.
Definition at line 139 of file hash_policy.hpp.
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 (floatload)
Sets the load; does not resize the container.
Definition at line 205 of file hash_policy.hpp.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
__gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >(3)