__gnu_pbds::hash_standard_resize_policy< Size_Policy, Trigger_Policy, External_Size_Access, Size_Type >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

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


Inherits Size_Policy, and Trigger_Policy.  

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 ()
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.
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 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
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_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.

 

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Protected Member Functions
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>
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 ()
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)
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)
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]
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]
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 ()
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
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 ()
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
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)
Author