table of contents
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >(3) | Library Functions Manual | __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >(3) |
NAME¶
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >
SYNOPSIS¶
Inherits __gnu_pbds::basic_hash_table< Key, Mapped, typename detail::default_hash_fn< Key >::type, typename detail::default_eq_fn< Key >::type, typename detail::default_resize_policy< detail::default_comb_hash_fn::type >::type, detail::default_store_hash, gp_hash_tag, __gnu_cxx::typelist::create2< detail::default_comb_hash_fn::type, typename detail::default_probe_fn< detail::default_comb_hash_fn::type >::type >::type, std::allocator< char > >.
Public Types¶
typedef Comb_Probe_Fn comb_probe_fn
typedef gp_hash_tag container_category
typedef Eq_Fn eq_fn
typedef Hash_Fn hash_fn
typedef Probe_Fn probe_fn
typedef Resize_Policy resize_policy
Public Member Functions¶
gp_hash_table ()
Default constructor. gp_hash_table (const gp_hash_table
&other)
gp_hash_table (const hash_fn &h)
Constructor taking some policy objects. r_hash_fn will be copied by the
hash_fn object of the container object. gp_hash_table (const hash_fn
&h, const eq_fn &e)
Constructor taking some policy objects. r_hash_fn will be copied by the
hash_fn object of the container object, and r_eq_fn will be copied by the
eq_fn object of the container object. gp_hash_table (const hash_fn
&h, const eq_fn &e, const comb_probe_fn &cp)
Constructor taking some policy objects. r_hash_fn will be copied by the
hash_fn object of the container object, r_eq_fn will be copied by the eq_fn
object of the container object, and r_comb_probe_fn will be copied by the
comb_probe_fn object of the container object. gp_hash_table (const
hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const
probe_fn &p)
Constructor taking some policy objects. r_hash_fn will be copied by the
hash_fn object of the container object, r_eq_fn will be copied by the eq_fn
object of the container object, r_comb_probe_fn will be copied by the
comb_probe_fn object of the container object, and r_probe_fn will be copied
by the probe_fn object of the container object. gp_hash_table (const
hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const
probe_fn &p, const resize_policy &rp)
Constructor taking some policy objects. r_hash_fn will be copied by the
hash_fn object of the container object, r_eq_fn will be copied by the eq_fn
object of the container object, r_comb_probe_fn will be copied by the
comb_probe_fn object of the container object, r_probe_fn will be copied by
the probe_fn object of the container object, and r_resize_policy will be
copied by the Resize_Policy object of the container object.
template<typename It > gp_hash_table (It first, It last)
Constructor taking __iterators to a range of value_types. The value_types
between first_it and last_it will be inserted into the container object.
template<typename It > gp_hash_table (It first, It last, const
hash_fn &h)
Constructor taking __iterators to a range of value_types and some policy
objects. The value_types between first_it and last_it will be inserted into
the container object. r_hash_fn will be copied by the hash_fn object of the
container object. template<typename It > gp_hash_table (It
first, It last, const hash_fn &h, const eq_fn &e)
Constructor taking __iterators to a range of value_types and some policy
objects. The value_types between first_it and last_it will be inserted into
the container object. r_hash_fn will be copied by the hash_fn object of the
container object, and r_eq_fn will be copied by the eq_fn object of the
container object. template<typename It > gp_hash_table (It
first, It last, const hash_fn &h, const eq_fn &e, const
comb_probe_fn &cp)
Constructor taking __iterators to a range of value_types and some policy
objects. The value_types between first_it and last_it will be inserted into
the container object. r_hash_fn will be copied by the hash_fn object of the
container object, r_eq_fn will be copied by the eq_fn object of the
container object, and r_comb_probe_fn will be copied by the comb_probe_fn
object of the container object. template<typename It >
gp_hash_table (It first, It last, const hash_fn &h, const eq_fn
&e, const comb_probe_fn &cp, const probe_fn &p)
Constructor taking __iterators to a range of value_types and some policy
objects. The value_types between first_it and last_it will be inserted into
the container object. r_hash_fn will be copied by the hash_fn object of the
container object, r_eq_fn will be copied by the eq_fn object of the
container object, r_comb_probe_fn will be copied by the comb_probe_fn object
of the container object, and r_probe_fn will be copied by the probe_fn
object of the container object. template<typename It >
gp_hash_table (It first, It last, const hash_fn &h, const eq_fn
&e, const comb_probe_fn &cp, const probe_fn &p, const
resize_policy &rp)
Constructor taking __iterators to a range of value_types and some policy
objects. The value_types between first_it and last_it will be inserted into
the container object. r_hash_fn will be copied by the hash_fn object of the
container object, r_eq_fn will be copied by the eq_fn object of the
container object, r_comb_probe_fn will be copied by the comb_probe_fn object
of the container object, r_probe_fn will be copied by the probe_fn object of
the container object, and r_resize_policy will be copied by the
resize_policy object of the container object. gp_hash_table &
operator= (const gp_hash_table &other)
void swap (gp_hash_table &other)
Detailed Description¶
template<typename Key, typename Mapped, typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>>¶
class __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >" A general-probing hash-based associative container.
Template Parameters
Mapped Map type.
Hash_Fn Hashing functor.
Eq_Fn Equal functor.
Comb_Probe_Fn Combining probe functor. If Hash_Fn is not null_type, then this is the ranged-probe functor; otherwise, this is the range-hashing functor. XXX See Design::Hash-Based Containers::Hash Policies.
Probe_Fn Probe functor.
Resize_Policy Resizes hash.
Store_Hash Indicates whether the hash value will be stored along with each key. If Hash_Fn is null_type, then the container will not compile if this value is true
_Alloc Allocator type.
Base tag choices are: gp_hash_tag.
Base is basic_hash_table.
Constructor & Destructor Documentation¶
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table () [inline]¶
Default constructor.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (const hash_fn & h) [inline]¶
Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (const hash_fn & h, const eq_fn & e) [inline]¶
Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp) [inline]¶
Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p) [inline]¶
Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p, const resize_policy & rp) [inline]¶
Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the Resize_Policy object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last) [inline]¶
Constructor taking __iterators to a range of value_types. The value_types between first_it and last_it will be inserted into the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last, const hash_fn & h) [inline]¶
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last, const hash_fn & h, const eq_fn & e) [inline]¶
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp) [inline]¶
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p) [inline]¶
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object.
template<typename Key , typename Mapped , typename Hash_Fn = typename detail::default_hash_fn<Key>::type, typename Eq_Fn = typename detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn = detail::default_comb_hash_fn::type, typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool Store_Hash = detail::default_store_hash, typename _Alloc = std::allocator<char>> template<typename It > __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table (It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p, const resize_policy & rp) [inline]¶
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the resize_policy object of the container object.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
Mon Dec 18 2023 | libstdc++ |