libstdc++
__gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > Class Template Reference

List of all members.

Public Types

Public Member Functions

Protected Member Functions


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 ( float  load = 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_type  size,
size_type  num_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_type  num_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_type  new_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_type  num_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_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 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 ( float  load)

Sets the load; does not resize the container.

Definition at line 205 of file hash_policy.hpp.


The documentation for this class was generated from the following files: