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

A resize trigger policy based on collision checks. It keeps the simulated load factor lower than some given load factor. More...

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 = false, typename Size_Type = std::size_t>
__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.


Member Function Documentation

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
float __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::get_load ( ) const [inline]

Returns the current load.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
void __gnu_pbds::cc_hash_max_collision_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::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_collision ( ) [inline, protected]

Notifies a search encountered a collision.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.

template<bool External_Load_Access = false, typename Size_Type = std::size_t>
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.


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