1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
6 <meta name=
"generator" content=
7 "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
9 <title>cc_hash_table Interface
</title>
10 <meta http-equiv=
"Content-Type" content=
11 "text/html; charset=us-ascii" />
16 <h1><tt>cc_hash_table
</tt> Interface
</h1>
18 <p>A concrete collision-chaining hash-based associative
21 <p>Defined in:
<a href=
22 "../../../../include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp
</tt></a></p>
24 <h2><a name=
"link1" id=
"link1">Template Parameters
</a></h2>
26 <table class=
"c1" width=
"100%" border=
"1" summary=
27 "Template Parameters">
29 <td width=
"20%" align=
"left"><b>Parameter
</b></td>
31 <td width=
"50%" align=
"left"><b>Description
</b></td>
33 <td width=
"30%" align=
"left"><b>Default Value
</b></td>
39 <a name=
"Key2501" id=
"Key2501"><b>typename
</b> Key
</a>
53 <a name=
"Mapped318655" id=
"Mapped318655"><b>typename
</b> Mapped
</a>
67 <a name=
"Hash_Fn1515835" id=
68 "Hash_Fn1515835"><b>class
</b> Hash_Fn
</a>
78 __gnu_cxx::hash
<<a href=
"#Key2501"><tt>Key
</tt></a>>
81 stdext::hash_value
<<a href=
"#Key2501"><tt>Key
</tt></a>>
82 </pre>if using Visual C++ .net
89 <a name=
"Eq_Fn60085" id=
"Eq_Fn60085"><b>class
</b> Eq_Fn
</a>
94 <p>Equivalence functor.
</p>
99 std::equal_to
<<a href=
"#Key2501"><tt>Key
</tt></a>>
107 <a name=
"Comb_Hash_Fn320611039" id=
108 "Comb_Hash_Fn320611039"><b>class
</b> Comb_Hash_Fn
</a>
113 <p>Combining hash functor.
</p>
115 <p>If
<a href=
"#Hash_Fn1515835"><tt>Hash_Fn
</tt></a> is
116 not
<a href=
"null_hash_fn.html"><span class=
117 "c2"><tt>null_hash_fn
</tt></span></a>, then this is the
118 ranged-hash functor; otherwise, this is the range-hashing
122 "hash_based_containers.html#hash_policies">Design::Hash-Based
123 Containers::Hash Policies
</a>.)
</p>
128 <a href=
"direct_mask_range_hashing.html"><span class=
129 "c2"><tt>direct_mask_range_hashing
</tt></span></a>
137 <a name=
"Resize_Policy566860465" id=
138 "Resize_Policy566860465"><b>class
</b> Resize_Policy
</a>
143 <p>Resize policy.
</p>
148 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a></tt>
150 "direct_mask_range_hashing.html"><span class=
151 "c2"><tt>direct_mask_range_hashing
</tt></span></a></tt>,
154 <a href=
"hash_standard_resize_policy.html"><span class=
155 "c2"><tt>hash_standard_resize_policy
</tt></span></a><
156 <a href=
"hash_exponential_size_policy.html"><span class=
157 "c2"><tt>hash_exponential_size_policy
</tt></span></a><
158 <b>typename
</b> <a href=
159 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>,
160 <a href=
"hash_load_check_resize_trigger.html"><span class=
161 "c2"><tt>hash_load_check_resize_trigger
</tt></span></a><
162 <b>typename
</b> <a href=
163 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>,
165 <b>typename
</b> <a href=
166 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>
169 <a href=
"hash_standard_resize_policy.html"><span class=
170 "c2"><tt>hash_standard_resize_policy
</tt></span></a><
171 <a href=
"hash_exponential_size_policy.html"><span class=
172 "c2"><tt>hash_exponential_size_policy
</tt></span></a><
173 <b>typename
</b> <a href=
174 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>,
175 <a href=
"hash_load_check_resize_trigger.html"><span class=
176 "c2"><tt>hash_load_check_resize_trigger
</tt></span></a><
177 <b>typename
</b> <a href=
178 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>,
180 <b>typename
</b> <a href=
181 "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>::size_type
>
189 <a name=
"Store_Hash218262104" id=
190 "Store_Hash218262104"><b>bool
</b> Store_Hash
</a>
195 <p>Indicates whether the hash value will be stored along
199 "#hash_fn2015995"><tt>hash_fn
</tt></a></tt> is
<a href=
200 "null_hash_fn.html"><span class=
201 "c2"><tt>null_hash_fn
</tt></span></a>, then the container
202 will not compile if this value is
203 <tt><b>true
</b></tt></p>
208 <tt><b>false
</b></tt>
216 <a name=
"Allocator35940069" id=
217 "Allocator35940069"><b>class
</b> Allocator
</a>
222 <p>Allocator type.
</p>
227 std::allocator
<<b>char
</b>>
233 <h2><a name=
"link2" id=
"link2">Base Classes
</a></h2>
235 <table class=
"c1" width=
"100%" border=
"1" summary=
"Bases">
237 <td width=
"80%" align=
"left"><b>Class
</b></td>
239 <td width=
"20%" align=
"left"><b>Derivation Type
</b></td>
245 <a href=
"basic_hash_table.html"><span class=
246 "c2"><tt>basic_hash_table
</tt></span></a>
256 <h2><a name=
"link3" id=
"link3">Public Types and
259 <h3><a name=
"link4" id=
"link4">Policy Definitions
</a></h3>
261 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
263 <td width=
"30%" align=
"left"><b>Type
</b></td>
265 <td width=
"55%" align=
"left"><b>Definition
</b></td>
267 <td width=
"15%" align=
"left"><b>Description
</b></td>
273 <a name=
"hash_fn2015995" id=
"hash_fn2015995">hash_fn
</a>
279 <a href=
"#Hash_Fn1515835"><tt>Hash_Fn
</tt></a>
284 <p>Hash functor type.
</p>
291 <a name=
"eq_fn80245" id=
"eq_fn80245">eq_fn
</a>
297 <a href=
"#Eq_Fn60085"><tt>Eq_Fn
</tt></a>
302 <p>Equivalence functor type.
</p>
309 <a name=
"resize_policy4084493169" id=
310 "resize_policy4084493169">resize_policy
</a>
316 <a href=
"#Resize_Policy566860465"><tt>Resize_Policy
</tt></a>
321 <p>Resize policy type.
</p>
328 <a name=
"comb_hash_fn1883611199" id=
329 "comb_hash_fn1883611199">comb_hash_fn
</a>
335 <a href=
"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn
</tt></a>
340 <p>Combining hash functor type.
</p>
345 <h2><a name=
"link5" id=
"link5">Public Methods
</a></h2>
347 <h3><a name=
"link6" id=
"link6">Constructors, Destructor, and
350 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
352 <td width=
"45%" align=
"left"><b>Method
</b></td>
354 <td width=
"55%" align=
"left"><b>Description
</b></td>
366 <p>Default constructor.
</p>
374 (
<b>const
</b> <a href=
375 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn)
380 <p>Constructor taking some policy objects.
<span class=
381 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
382 <a href=
"#Hash_Fn1515835"><tt>Hash_Fn
</tt></a> object of
383 the container object.
</p>
391 (
<b>const
</b> <a href=
392 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
393 <b>const
</b> <a href=
394 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn)
399 <p>Constructor taking some policy objects.
<span class=
400 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
401 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
402 the container object, and
<span class=
403 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
404 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
405 container object.
</p>
413 (
<b>const
</b> <a href=
414 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
415 <b>const
</b> <a href=
416 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn,
417 <b>const
</b> <a href=
418 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &r_comb_hash_fn)
423 <p>Constructor taking some policy objects.
<span class=
424 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
425 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
426 the container object,
<span class=
427 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
428 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
429 container object, and
<span class=
430 "c1"><tt>r_comb_hash_fn
</tt></span> will be copied by the
432 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>
433 object of the container object.
</p>
441 (
<b>const
</b> <a href=
442 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
443 <b>const
</b> <a href=
444 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn,
445 <b>const
</b> <a href=
446 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &r_comb_hash_fn,
447 <b>const
</b> <a href=
448 "#resize_policy4084493169"><tt>resize_policy
</tt></a> &r_resize_policy)
453 <p>Constructor taking some policy objects.
<span class=
454 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
455 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
456 the container object,
<span class=
457 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
458 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
459 container object,
<span class=
460 "c1"><tt>r_comb_hash_fn
</tt></span> will be copied by the
462 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>
463 object of the container object, and
<span class=
464 "c1"><tt>r_resize_policy
</tt></span> will be copied by
466 "#resize_policy4084493169"><tt>resize_policy
</tt></a>
467 object of the container object.
</p>
483 <p>Constructor taking iterators to a range of
484 value_types. The value_types between
<span class=
485 "c1"><tt>first_it
</tt></span> and
<span class=
486 "c1"><tt>last_it
</tt></span> will be inserted into the
487 container object.
</p>
499 <b>const
</b> <a href=
500 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn)
505 <p>Constructor taking iterators to a range of value_types
506 and some policy objects. The value_types between
507 <span class=
"c1"><tt>first_it
</tt></span> and
508 <span class=
"c1"><tt>last_it
</tt></span> will be inserted
509 into the container object.
</p>
521 <b>const
</b> <a href=
522 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
523 <b>const
</b> <a href=
524 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn)
529 <p>Constructor taking iterators to a range of value_types
530 and some policy objects The value_types between
531 <span class=
"c1"><tt>first_it
</tt></span> and
532 <span class=
"c1"><tt>last_it
</tt></span> will be inserted
533 into the container object.
<span class=
534 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
535 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
536 the container object, and
<span class=
537 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
538 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
539 container object.
</p>
551 <b>const
</b> <a href=
552 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
553 <b>const
</b> <a href=
554 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn,
555 <b>const
</b> <a href=
556 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &r_comb_hash_fn)
561 <p>Constructor taking iterators to a range of value_types
562 and some policy objects The value_types between
563 <span class=
"c1"><tt>first_it
</tt></span> and
564 <span class=
"c1"><tt>last_it
</tt></span> will be inserted
565 into the container object.
<span class=
566 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
567 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
568 the container object,
<span class=
569 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
570 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
571 container object, and
<span class=
572 "c1"><tt>r_comb_hash_fn
</tt></span> will be copied by the
574 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>
575 object of the container object.
</p>
587 <b>const
</b> <a href=
588 "#hash_fn2015995"><tt>hash_fn
</tt></a> &r_hash_fn,
589 <b>const
</b> <a href=
590 "#eq_fn80245"><tt>eq_fn
</tt></a> &r_eq_fn,
591 <b>const
</b> <a href=
592 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &r_comb_hash_fn,
593 <b>const
</b> <a href=
594 "#resize_policy4084493169"><tt>resize_policy
</tt></a> &r_resize_policy)
599 <p>Constructor taking iterators to a range of value_types
600 and some policy objects The value_types between
601 <span class=
"c1"><tt>first_it
</tt></span> and
602 <span class=
"c1"><tt>last_it
</tt></span> will be inserted
603 into the container object.
<span class=
604 "c1"><tt>r_hash_fn
</tt></span> will be copied by the
605 <a href=
"#hash_fn2015995"><tt>hash_fn
</tt></a> object of
606 the container object,
<span class=
607 "c1"><tt>r_eq_fn
</tt></span> will be copied by the
608 <a href=
"#eq_fn80245"><tt>eq_fn
</tt></a> object of the
609 container object,
<span class=
610 "c1"><tt>r_comb_hash_fn
</tt></span> will be copied by the
612 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>
613 object of the container object, and
<span class=
614 "c1"><tt>r_resize_policy
</tt></span> will be copied by
616 "#resize_policy4084493169"><tt>resize_policy
</tt></a>
617 object of the container object.
</p>
625 (
<b>const
</b> <span class=
626 "c2"><tt>cc_hash_table
</tt></span> &other)
631 <p>Copy constructor.
</p>
652 <span class=
"c2"><tt>cc_hash_table
</tt></span> &
654 (
<b>const
</b> <span class=
655 "c2"><tt>cc_hash_table
</tt></span> &other)
660 <p>Assignment operator.
</p>
670 "c2"><tt>cc_hash_table
</tt></span> &other)
675 <p>Swaps content.
</p>
680 <h3><a name=
"link7" id=
"link7">Policy Access Methods
</a></h3>
682 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
684 <td width=
"45%" align=
"left"><b>Method
</b></td>
686 <td width=
"55%" align=
"left"><b>Description
</b></td>
692 <a href=
"#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &
699 <p>Access to the
<a href=
700 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>
708 <b>const
</b> <a href=
709 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a> &
716 <p>Const access to the
<a href=
717 "#comb_hash_fn1883611199"><tt>comb_hash_fn
</tt></a>