Contains hash-related policies. More...
#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>
Classes | |
class | __gnu_pbds::cc_hash_max_collision_check_resize_trigger< External_Load_Access, Size_Type > |
A resize trigger policy based on collision checks. 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_exponential_size_policy< Size_Type > |
A size policy whose sequence of sizes form an exponential sequence (typically powers of 2. More... | |
class | __gnu_pbds::hash_load_check_resize_trigger< External_Load_Access, Size_Type > |
A resize trigger policy based on a load check. More... | |
class | __gnu_pbds::hash_prime_size_policy |
A size policy whose sequence of sizes form a nearly-exponential sequence of primes. More... | |
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... | |
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... | |
Namespaces | |
__gnu_pbds | |
GNU extensions for policy-based data structures for public use. | |
Macros | |
#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> |
Contains hash-related policies.
#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> |