STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros
hash_policy.hpp File Reference
#include <bits/c++config.h>
#include <algorithm>
#include <vector>
#include <cmath>
#include <ext/pb_ds/exception.hpp>
#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp>
#include <ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp>
#include <ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp>
#include <ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp>
#include <ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp>
#include <ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp>
#include <ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp>

Go to the source code of this file.

Classes

class  __gnu_pbds::linear_probe_fn< Size_Type >
 A probe sequence policy using fixed increments. More...
 
class  __gnu_pbds::quadratic_probe_fn< Size_Type >
 A probe sequence policy using square increments. More...
 
class  __gnu_pbds::direct_mask_range_hashing< Size_Type >
 A mask range-hashing class (uses a bitmask). More...
 
class  __gnu_pbds::direct_mod_range_hashing< Size_Type >
 A mod range-hashing class (uses the modulo function). More...
 
class  __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type >
 
class  __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type >
 
class  __gnu_pbds::hash_exponential_size_policy< Size_Type >
 
class  __gnu_pbds::hash_prime_size_policy
 
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. More...
 

Namespaces

 __gnu_pbds
 GNU extensions for policy-based data structures for public use.
 

Macros

#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   linear_probe_fn<Size_Type>
 
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   quadratic_probe_fn<Size_Type>
 
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   direct_mask_range_hashing<Size_Type>
 
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   direct_mod_range_hashing<Size_Type>
 
#define PB_DS_CLASS_T_DEC   template<bool External_Load_Access, typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   hash_load_check_resize_trigger<External_Load_Access, Size_Type>
 
#define PB_DS_SIZE_BASE_C_DEC   detail::hash_load_check_resize_trigger_size_base<Size_Type, External_Load_Access>
 
#define PB_DS_CLASS_T_DEC   template<bool External_Load_Access, typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   cc_hash_max_collision_check_resize_trigger<External_Load_Access, Size_Type>
 
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   hash_exponential_size_policy<Size_Type>
 
#define PB_DS_CLASS_T_DEC
 
#define PB_DS_CLASS_C_DEC   hash_prime_size_policy
 
#define PB_DS_CLASS_T_DEC   template<typename Size_Policy, typename Trigger_Policy, bool External_Size_Access, typename Size_Type>
 
#define PB_DS_CLASS_C_DEC   hash_standard_resize_policy<Size_Policy, Trigger_Policy, External_Size_Access, Size_Type>
 

Detailed Description

Contains hash-related policies.

Macro Definition Documentation

#define PB_DS_CLASS_C_DEC   linear_probe_fn<Size_Type>
#define PB_DS_CLASS_C_DEC   quadratic_probe_fn<Size_Type>
#define PB_DS_CLASS_C_DEC   direct_mask_range_hashing<Size_Type>
#define PB_DS_CLASS_C_DEC   direct_mod_range_hashing<Size_Type>
#define PB_DS_CLASS_C_DEC   hash_load_check_resize_trigger<External_Load_Access, Size_Type>
#define PB_DS_CLASS_C_DEC   cc_hash_max_collision_check_resize_trigger<External_Load_Access, Size_Type>
#define PB_DS_CLASS_C_DEC   hash_exponential_size_policy<Size_Type>
#define PB_DS_CLASS_C_DEC   hash_prime_size_policy
#define PB_DS_CLASS_C_DEC   hash_standard_resize_policy<Size_Policy, Trigger_Policy, External_Size_Access, Size_Type>
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<bool External_Load_Access, typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<bool External_Load_Access, typename Size_Type>
#define PB_DS_CLASS_T_DEC   template<typename Size_Type>
#define PB_DS_CLASS_T_DEC
#define PB_DS_CLASS_T_DEC   template<typename Size_Policy, typename Trigger_Policy, bool External_Size_Access, typename Size_Type>
#define PB_DS_SIZE_BASE_C_DEC   detail::hash_load_check_resize_trigger_size_base<Size_Type, External_Load_Access>