pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type > Class Template Reference

#include <hash_policy.hpp>

List of all members.

Public Types

typedef Size_Type size_type
 external_load_access = External_Load_Access
enum  { external_load_access = External_Load_Access }

Public Member Functions

 hash_load_check_resize_trigger (float load_min=0.125, float load_max=0.5)
void swap (PB_ASSOC_CLASS_C_DEC &r_other)
virtual ~hash_load_check_resize_trigger ()
std::pair< float, float > get_loads () const
void set_loads (std::pair< float, float > load_pair)

Protected Types

typedef PB_ASSOC_SIZE_BASE_C_DEC my_size_base

Protected Member Functions

void notify_insert_search_start ()
void notify_insert_search_collision ()
void notify_insert_search_end ()
void notify_find_search_start ()
void notify_find_search_collision ()
void notify_find_search_end ()
void notify_erase_search_start ()
void notify_erase_search_collision ()
void notify_erase_search_end ()
void notify_inserted (size_type num_entries)
void notify_erased (size_type num_entries)
void notify_cleared ()
void notify_resized (size_type new_size)
void notify_externally_resized (size_type new_size)
bool is_resize_needed () const
bool is_grow_needed (size_type size, size_type num_entries) const
bool is_shrink_needed (size_type size, size_type num_entries) const

Private Member Functions

std::pair< float, float > get_loads_imp (pb_assoc::detail::int_to_type< true >) const
void set_loads_imp (std::pair< float, float >, pb_assoc::detail::int_to_type< true >)
virtual void do_resize (size_type new_size)

Private Attributes

float m_load_min
float m_load_max
size_type m_next_shrink_size
size_type m_next_grow_size
bool m_resize_needed

Static Private Attributes

static pb_assoc::detail::int_to_type<
External_Load_Access > 
s_external_load_access_ind


Detailed Description

template<bool External_Load_Access = false, typename Size_Type = size_t>
class pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >

Definition at line 215 of file hash_policy.hpp.


Member Typedef Documentation

template<bool External_Load_Access = false, typename Size_Type = size_t>
typedef PB_ASSOC_SIZE_BASE_C_DEC pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::my_size_base [protected]

Definition at line 292 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
typedef Size_Type pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::size_type

Definition at line 218 of file hash_policy.hpp.


Member Enumeration Documentation

template<bool External_Load_Access = false, typename Size_Type = size_t>
anonymous enum

Enumerator:
external_load_access 

Definition at line 220 of file hash_policy.hpp.


Constructor & Destructor Documentation

template<bool External_Load_Access = false, typename Size_Type = size_t>
pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::hash_load_check_resize_trigger ( float  load_min = 0.125,
float  load_max = 0.5 
)

template<bool External_Load_Access = false, typename Size_Type = size_t>
virtual pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::~hash_load_check_resize_trigger (  )  [virtual]


Member Function Documentation

template<bool External_Load_Access = false, typename Size_Type = size_t>
virtual void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::do_resize ( size_type  new_size  )  [private, virtual]

template<bool External_Load_Access = false, typename Size_Type = size_t>
std::pair<float, float> pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::get_loads (  )  const [inline]

template<bool External_Load_Access = false, typename Size_Type = size_t>
std::pair<float, float> pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::get_loads_imp ( pb_assoc::detail::int_to_type< true >   )  const [inline, private]

template<bool External_Load_Access = false, typename Size_Type = size_t>
bool pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::is_grow_needed ( size_type  size,
size_type  num_entries 
) const [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
bool pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::is_resize_needed (  )  const [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
bool pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::is_shrink_needed ( size_type  size,
size_type  num_entries 
) const [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_cleared (  )  [protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_collision (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_end (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_erase_search_start (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_erased ( size_type  num_entries  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_externally_resized ( size_type  new_size  )  [protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_collision (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_end (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_find_search_start (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_collision (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_end (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_insert_search_start (  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_inserted ( size_type  num_entries  )  [inline, protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::notify_resized ( size_type  new_size  )  [protected]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::set_loads ( std::pair< float, float >  load_pair  ) 

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::set_loads_imp ( std::pair< float, float >  ,
pb_assoc::detail::int_to_type< true >   
) [private]

template<bool External_Load_Access = false, typename Size_Type = size_t>
void pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::swap ( PB_ASSOC_CLASS_C_DEC &  r_other  ) 


Member Data Documentation

template<bool External_Load_Access = false, typename Size_Type = size_t>
float pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::m_load_max [private]

Definition at line 310 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
float pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::m_load_min [private]

Definition at line 310 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
size_type pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::m_next_grow_size [private]

Definition at line 314 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
size_type pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::m_next_shrink_size [private]

Definition at line 312 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
bool pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::m_resize_needed [private]

Definition at line 316 of file hash_policy.hpp.

template<bool External_Load_Access = false, typename Size_Type = size_t>
pb_assoc::detail::int_to_type<External_Load_Access> pb_assoc::hash_load_check_resize_trigger< External_Load_Access, Size_Type >::s_external_load_access_ind [static, private]

Definition at line 319 of file hash_policy.hpp.


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:58:36 2010 for GNU C++ STL by  doxygen 1.4.7