2 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
7 <title>cc_hash_assoc_cntnr Interface
14 <tt>cc_hash_assoc_cntnr
22 <p>A collision-chaining hash-based associative container.
27 <a href =
"../../../../include/ext/pb_assoc/assoc_cntnr.hpp"><tt>assoc_cntnr.hpp
</tt>
33 <a href =
"#link1">Template parameters.
39 <a href =
"#link2">Base classes.
45 Public Types and Constants:
50 <a href =
"#link3">Policy definitions.
65 <a href =
"#link4">Constructors, destructor, and related.
71 <a href =
"#link5">Policy access methods.
84 <a name =
"link1">Template parameters.
89 <table WIDTH =
"100%" BORDER =
"1">
90 <TR><TD Width =
"20%" ALIGN =
"left"><b>Parameter
</b></TD><TD Width =
"50%" ALIGN =
"left"><b>Description
</b></TD><TD Width =
"30%" ALIGN =
"left"><b>Default Value
</b></TD></TR>
95 <pre><a name =
"Key3735928856">Key
</a></pre>
116 <pre><a name =
"Data3735928937">Data
</a></pre>
137 <pre><a name =
"Hash_Fn3735929222">Hash_Fn
</a></pre>
149 <pre>__gnu_cxx::hash
<<a href =
"#Key3735928856">Key
</a>></pre>if using gcc;
<pre>stdext::hash_value
<<a href =
"#Key3735928856">Key
</a>></pre>if using Visual C++ .net
158 <pre><a name =
"Eq_Fn3735929016">Eq_Fn
</a></pre>
164 <p>Equivalence functor.
</p>
170 <pre>std::equal_to
<<a href =
"#Key3735928856">Key
</a>></pre>
179 <pre><a name =
"Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a></pre>
185 <p>Combining hash functor.
</p>
188 <p>If
<a href =
"#Hash_Fn3735929222">Hash_Fn
</a> is not
<a href =
"null_hash_fn.html"><tt>null_hash_fn
</tt></a>, then this is the
<a href =
"concepts.html#concepts_hash_fns">range_hashing function
</a> functor; otherwise, this is the
<a href =
"concepts.html#concepts_hash_fns">ranged_hash function
</a> functor.
</p>
194 <pre><a href =
"direct_mask_range_hashing.html">direct_mask_range_hashing
</a><
195 <a href =
"#Allocator3735929488">Allocator
</a>></pre>
204 <pre><a name =
"Resize_Policy3735929904">Resize_Policy
</a></pre>
210 <p>Resize policy.
</p>
216 If
<tt><a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a></tt> is
<tt><a href =
"direct_mask_range_hashing.html">direct_mask_range_hashing
<></a></tt>, then
<pre><a href =
"hash_standard_resize_policy.html">hash_standard_resize_policy
</a><
217 <a href =
"hash_exponential_size_policy.html">hash_exponential_size_policy
</a><
218 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
>,
219 <a href =
"hash_load_check_resize_trigger.html">hash_load_check_resize_trigger
</a><
220 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
>,
222 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
></pre>otherwise,
<pre><a href =
"hash_standard_resize_policy.html">hash_standard_resize_policy
</a><
223 <a href =
"hash_exponential_size_policy.html"><tt>hash_prime_size_policy
</tt></a><
224 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
>,
225 <a href =
"hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger
</tt></a><
226 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
>,
228 <b>typename
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a>::size_type
></pre>
237 <pre><a name =
"Store_Hash3735929567">Store_Hash
</a></pre>
243 <p>Indicates whether the hash value will be stored along with each key.
</p>
246 <p>If
<tt><a href =
"#hash_fn3735929286">hash_fn
</a></tt> is
<tt><a href =
"null_hash_fn.html">null_hash_fn
</a></tt>, then the container will not compile if this value is
<tt><b>true
</b></tt></p>
252 <pre><tt><b>false
</b></tt></pre>
261 <pre><a name =
"Allocator3735929488">Allocator
</a></pre>
267 <p>Allocator type.
</p>
273 <pre>std::allocator
<<b>char
</b>></pre>
283 <a name =
"link2">Base classes.
288 <table WIDTH =
"100%" BORDER =
"1">
289 <TR><TD Width =
"80%" ALIGN =
"left"><b>Class
</b></TD><TD Width =
"20%" ALIGN =
"left"><b>Derivation Type
</b></TD></TR>
294 <pre><a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a></pre>
309 <pre><a href =
"basic_hash_assoc_cntnr.html"<tt>basic_hash_assoc_cntnr
</tt></a></pre>
325 <a name =
"link3">Policy definitions.
330 <table WIDTH =
"100%" BORDER =
"1">
331 <TR><TD Width =
"30%" ALIGN =
"left"><b>Type
</b></TD><TD Width =
"55%" ALIGN =
"left"><b>Definition
</b></TD><TD Width =
"15%" ALIGN =
"left"><b>Description
</b></TD></TR>
336 <pre><a name =
"comb_hash_fn3735929798">comb_hash_fn
</a></pre>
342 <pre><a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a></pre>
348 <p>Combining hash functor type.
</p>
358 <a name =
"link4">Constructors, destructor, and related.
363 <table WIDTH =
"100%" BORDER =
"1">
364 <TR><TD Width =
"45%" ALIGN =
"left"><b>Method
</b></TD><TD Width =
"55%" ALIGN =
"left"><b>Description
</b></TD></TR>
369 <pre> cc_hash_assoc_cntnr
376 <p>Default constructor.
</p>
385 <pre> cc_hash_assoc_cntnr
386 (
<b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn)
</pre>
392 <p>Constructor taking some policy objects.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object.
</p>
401 <pre> cc_hash_assoc_cntnr
402 (
<b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
403 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn)
</pre>
409 <p>Constructor taking some policy objects.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object.
</p>
418 <pre> cc_hash_assoc_cntnr
419 (
<b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
420 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn,
421 <b>const
</b> <a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a> &r_comb_hash_fn)
</pre>
427 <p>Constructor taking some policy objects.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_comb_hash_fn
</tt></font> will be copied by the
<a href =
"#Comb_Hash_Fn3735929702"><tt>Comb_Hash_Fn
</tt></a> object of the container object.
</p>
436 <pre> cc_hash_assoc_cntnr
437 (
<b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
438 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn,
439 <b>const
</b> <a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a> &r_comb_hash_fn,
440 <b>const
</b> <a href =
"#Resize_Policy3735929904">Resize_Policy
</a> &r_resize_policy)
</pre>
446 <p>Constructor taking some policy objects.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_comb_hash_fn
</tt></font> will be copied by the
<a href =
"#Comb_Hash_Fn3735929702"><tt>Comb_Hash_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_resize_policy
</tt></font> will be copied by the
<a href =
"#Resize_Policy3735929904"><tt>Resize_Policy
</tt></a> object of the container object.
</p>
455 <pre><b>template
</b><
465 <p>Constructor taking iterators to a range of value_types. The value_types between
<font color =
"#666666"><tt>first_it
</tt></font> and
<font color =
"#666666"><tt>last_it
</tt></font> will be inserted into the container object.
</p>
474 <pre><b>template
</b><
479 <b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn)
</pre>
485 <p>Constructor taking iterators to a range of value_types and some policy objects. The value_types between
<font color =
"#666666"><tt>first_it
</tt></font> and
<font color =
"#666666"><tt>last_it
</tt></font> will be inserted into the container object.
</p>
494 <pre><b>template
</b><
499 <b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
500 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn)
</pre>
506 <p>Constructor taking iterators to a range of value_types and some policy objects The value_types between
<font color =
"#666666"><tt>first_it
</tt></font> and
<font color =
"#666666"><tt>last_it
</tt></font> will be inserted into the container object.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object.
</p>
515 <pre><b>template
</b><
520 <b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
521 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn,
522 <b>const
</b> <a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a> &r_comb_hash_fn)
</pre>
528 <p>Constructor taking iterators to a range of value_types and some policy objects The value_types between
<font color =
"#666666"><tt>first_it
</tt></font> and
<font color =
"#666666"><tt>last_it
</tt></font> will be inserted into the container object.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_comb_hash_fn
</tt></font> will be copied by the
<a href =
"#Comb_Hash_Fn3735929702"><tt>Comb_Hash_Fn
</tt></a> object of the container object.
</p>
537 <pre><b>template
</b><
542 <b>const
</b> <a href =
"#Hash_Fn3735929222">Hash_Fn
</a> &r_hash_fn,
543 <b>const
</b> <a href =
"#Eq_Fn3735929016">Eq_Fn
</a> &r_eq_fn,
544 <b>const
</b> <a href =
"#Comb_Hash_Fn3735929702">Comb_Hash_Fn
</a> &r_comb_hash_fn,
545 <b>const
</b> <a href =
"#Resize_Policy3735929904">Resize_Policy
</a> &r_resize_policy)
</pre>
551 <p>Constructor taking iterators to a range of value_types and some policy objects The value_types between
<font color =
"#666666"><tt>first_it
</tt></font> and
<font color =
"#666666"><tt>last_it
</tt></font> will be inserted into the container object.
<font color =
"#666666"><tt>r_hash_fn
</tt></font> will be copied by the
<a href =
"#Hash_Fn3735929222"><tt>Hash_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_eq_fn
</tt></font> will be copied by the
<a href =
"#Eq_Fn3735929016"><tt>Eq_Fn
</tt></a> object of the container object,
<font color =
"#666666"><tt>r_comb_hash_fn
</tt></font> will be copied by the
<a href =
"#Comb_Hash_Fn3735929702"><tt>Comb_Hash_Fn
</tt></a> object of the container object, and
<font color =
"#666666"><tt>r_resize_policy
</tt></font> will be copied by the
<a href =
"#Resize_Policy3735929904"><tt>Resize_Policy
</tt></a> object of the container object.
</p>
560 <pre> cc_hash_assoc_cntnr
561 (
<b>const
</b> <font color =
"olive">cc_hash_assoc_cntnr
</font> &r_other)
</pre>
567 <p>Copy constructor.
</p>
593 <pre><font color =
"olive">cc_hash_assoc_cntnr
</font> &
595 (
<b>const
</b> <font color =
"olive">cc_hash_assoc_cntnr
</font> &r_other)
</pre>
601 <p>Assignment operator.
</p>
612 (
<font color =
"olive">cc_hash_assoc_cntnr
</font> &r_other)
</pre>
618 <p>Swaps content.
</p>
628 <a name =
"link5">Policy access methods.
633 <table WIDTH =
"100%" BORDER =
"1">
634 <TR><TD Width =
"45%" ALIGN =
"left"><b>Method
</b></TD><TD Width =
"55%" ALIGN =
"left"><b>Description
</b></TD></TR>
639 <pre><a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a> &
647 <p>Access to the
<a href =
"#comb_hash_fn3735929798"><tt>comb_hash_fn
</tt></a> object.
</p>
656 <pre><b>const
</b> <a href =
"#comb_hash_fn3735929798">comb_hash_fn
</a> &
658 ()
<b>const
</b></pre>
664 <p>Const access to the
<a href =
"#comb_hash_fn3735929798"><tt>comb_hash_fn
</tt></a> object.
</p>