libstdc++
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type > Class Template Reference

Inherits Size_Policy, and Trigger_Policy.

List of all members.

Public Types

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 ()
 hash_standard_resize_policy (const Size_Policy &r_size_policy)
 hash_standard_resize_policy (const Size_Policy &r_size_policy, const Trigger_Policy &r_trigger_policy)
size_type get_actual_size () const
Size_Policy & get_size_policy ()
const Size_Policy & get_size_policy () const
Trigger_Policy & get_trigger_policy ()
const Trigger_Policy & get_trigger_policy () const
void resize (size_type suggested_new_size)
void swap (hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type > &other)

Protected Member Functions

size_type get_new_size (size_type size, size_type num_used_e) 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_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.


Constructor & Destructor Documentation

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::hash_standard_resize_policy ( )

Default constructor.

Definition at line 44 of file hash_policy.hpp.

template<typename Size_Policy, typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
__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.

Definition at line 50 of file hash_policy.hpp.

template<typename Size_Policy, typename Trigger_Policy, bool External_Size_Access, typename Size_Type >
__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.

Definition at line 56 of file hash_policy.hpp.


Member Function Documentation

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::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.

Definition at line 177 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >::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.

Definition at line 158 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
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.

Definition at line 242 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
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.

Definition at line 248 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
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.

Definition at line 230 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
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.

Definition at line 236 of file hash_policy.hpp.

template<typename Size_Policy , typename Trigger_Policy , bool External_Size_Access, typename Size_Type >
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).

Definition at line 186 of file hash_policy.hpp.


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