2006-02-22 Paolo Carlini <pcarlini@suse.de>
+ * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_node_iterator.html:
+ Fix links.
+ * docs/html/ext/pb_assoc/hash_based_containers.html: Likewise.
+ * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: Likewise.
+ * docs/html/ext/pb_assoc/interface.html: Likewise..
+ * docs/html/ext/pb_assoc/list_updates.html: Likewise.
+ * docs/html/ext/pb_assoc/resize_policies.html: Likewise.
+ * docs/html/ext/pb_assoc/sample_probe_fn.html: Likewise.
+ * docs/html/ext/pb_assoc/sample_range_hashing.html: Likewise.
+ * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: Likewise.
+ * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: Likewise.
+ * docs/html/ext/pb_assoc/sample_resize_policy.html: Likewise.
+ * docs/html/ext/pb_assoc/tree_assoc_cntnr_const_node_iterator.html:
+ Likewise.
+ * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: Likewise.
+
+2006-02-22 Paolo Carlini <pcarlini@suse.de>
+
PR libstdc++/26132
* include/tr1/hashtable (hashtable<>::rehash): Define.
* testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a></pre>
+<pre><a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a></pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
+<pre><a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
+<pre><a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> &</pre>
+<pre><a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> &</pre>
</td>
</td>
<td>
-<pre><b>const</b> <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> &</pre>
+<pre><b>const</b> <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> &</pre>
</td>
<tr>
<td>
-<pre><b>inline</b> <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a>
+<pre><b>inline</b> <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a>
<b>operator</b>*
() <b>const</b></pre>
</td>
<td>
-<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
+<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
</td>
</td>
<td>
-<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
+<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
</td>
</td>
<td>
-<p>Compares content to a different <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
+<p>Compares content to a different <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
</td>
</td>
<td>
-<p>Compares content (negatively) to a different <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
+<p>Compares content (negatively) to a different <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
</td>
<tr>
<td>
-<pre><a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#const_node_iterator3735929535">const_node_iterator</a></pre>
+<pre><a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#const_node_iterator3735929535">const_node_iterator</a></pre>
</td>
<tr>
<td>
-<pre><b>inline</b> <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a>
+<pre><b>inline</b> <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a>
<b>operator</b>*
() <b>const</b></pre>
</td>
<td>
-<p>Returns the node <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
+<p>Returns the node <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
</td>
</td>
<td>
-<p>Returns the node <a href = "../../pb_assoc/doc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
+<p>Returns the node <a href = "../../pb_assoc/basic_tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
</td>
The library contains a single class for instantiating a resize policy,
<tt>pb_assoc</tt> contains
a standard resize policy,
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a> (the name is explained shortly).
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> (the name is explained shortly).
In terms of interface, it is parameterized by a boolean constant indicating whether its public interface supports
queries of actual size and external resize operations (the inclusion and exclusion of these methods in the interface have obvious tradeoffs in terms of encapsulation and flexibility).
([<a href = "references.html#alexandrescu01modern">alexandrescu01modern</a>] shows many techniques for
<p>
As noted before,
size and trigger policies are usually orthogonal.
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
is parameterized by size and trigger policies. For example,
a collision-chaining hash table
is typically be defined as follows:
key,
data,
...
- ht_standard_resize_policy<
+ hash_standard_resize_policy<
some_trigger_policy,
some_size_policy,
...> >
<p>
The sole function of
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
is to
act as a standard delegator
[<a href = "references.html#gamma95designpatterns">gamma95designpatterns</a>] for these
<ol>
<li>
- <a href = "ht_load_check_trigger.html"><tt>ht_load_check_trigger</tt></a> implements
+ <a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> implements
a load check trigger policy.
</li>
<li>
- <a href = "ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a>
+ <a href = "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
implements a collision check trigger policy.
</li>
<li>
-<a href = "ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a> implemens
+<a href = "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> implemens
an exponential-size policy (which should be used with mask range hashing).
</li>
<li>
-<a href = "ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a> implementing
+<a href = "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> implementing
a size policy based on a sequence of primes
[<a href = "references.html#sgi_stl">sgi_stl</a>] (which should be used with mod range hashing
</li>
by <tt>Resize_Policy</tt>, from which it subclasses publicly
[<a href = "references.html#alexandrescu01modern">alexandrescu01modern</a>].
This class is currently instantiated only by
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>.
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a> itself
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>.
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> itself
is parameterized by <tt>Trigger_Policy</tt> and <tt>Size_Policy</tt>.
Currently, <tt>Trigger_Policy</tt> is instantiated by
-<a href = "ht_load_check_trigger.html"><tt>ht_load_check_trigger</tt></a>,
+<a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>,
or
-<a href = "ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a>; <tt>Size_Policy</tt> is instantiated by
-<a href = "ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a>,
+<a href = "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>; <tt>Size_Policy</tt> is instantiated by
+<a href = "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>,
or
-<a href = "ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a>.
+<a href = "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>.
</p>
</td>
<td>
-<a href = "ht_load_check_trigger.html"><tt>ht_load_check_trigger<></tt></a>
+<a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger<></tt></a>
</td>
<li> Resize Policies:
<ol>
<li> <a href="sample_resize_policy.html">Interface of a Resize Policy</a>
- <li> <a href="ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a></li>
+ <li> <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a></li>
</ol>
</li>
<li> Size Policies:
<ol>
<li> <a href="sample_size_policy.html">Interface of a Size Policy</a></li>
- <li> <a href="ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a></li>
- <li> <a href="ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a></li>
+ <li> <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a></li>
+ <li> <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a></li>
</ol>
</li>
<li> Trigger Policies:
<ol>
<li><a href="sample_resize_trigger.html">Interface of a Trigger Policy</a></li>
- <li> <a href="ht_load_check_resize_trigger.html"><tt>ht_load_check_resize_trigger</tt></a></li>
- <li> <a href="ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a></li>
+ <li> <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a></li>
+ <li> <a href="cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a></li>
</ol>
</li>
</ol>
<h6 align = "center">
<a name = "lu">
-<img src = "lu.jpg" width = "65%">
+<img src = "lu_ops.jpg" width = "65%">
</a>
</h6>
<h6 align = "center">
<h6 align = "center">
<a name = "lu">
-<img src = "lu.jpg" width = "65%">
+<img src = "lu_ops.jpg" width = "65%">
</a>
</h6>
<h6 align = "center">
The library contains a single class for instantiating a resize policy,
<tt>pb_assoc</tt> contains
a standard resize policy,
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a> (the name is explained shortly).
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> (the name is explained shortly).
In terms of interface, it is parameterized by a boolean constant indicating whether its public interface supports
queries of actual size and external resize operations (the inclusion and exclusion of these methods in the interface have obvious tradeoffs in terms of encapsulation and flexibility).
([<a href = "references.html#alexandrescu01modern">alexandrescu01modern</a>] shows many techniques for
<p>
As noted before,
size and trigger policies are usually orthogonal.
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
is parameterized by size and trigger policies. For example,
a collision-chaining hash table
is typically be defined as follows:
key,
data,
...
- ht_standard_resize_policy<
+ hash_standard_resize_policy<
some_trigger_policy,
some_size_policy,
...> >
<p>
The sole function of
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
is to
act as a standard delegator
[<a href = "references.html#gamma95designpatterns">gamma95designpatterns</a>] for these
<ol>
<li>
- <a href = "ht_load_check_trigger.html"><tt>ht_load_check_trigger</tt></a> implements
+ <a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> implements
a load check trigger policy.
</li>
<li>
- <a href = "ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a>
+ <a href = "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
implements a collision check trigger policy.
</li>
<li>
-<a href = "ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a> implemens
+<a href = "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> implemens
an exponential-size policy (which should be used with mask range hashing).
</li>
<li>
-<a href = "ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a> implementing
+<a href = "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> implementing
a size policy based on a sequence of primes
[<a href = "references.html#sgi_stl">sgi_stl</a>] (which should be used with mod range hashing
</li>
by <tt>Resize_Policy</tt>, from which it subclasses publicly
[<a href = "references.html#alexandrescu01modern">alexandrescu01modern</a>].
This class is currently instantiated only by
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a>.
-<a href = "ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a> itself
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>.
+<a href = "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> itself
is parameterized by <tt>Trigger_Policy</tt> and <tt>Size_Policy</tt>.
Currently, <tt>Trigger_Policy</tt> is instantiated by
-<a href = "ht_load_check_trigger.html"><tt>ht_load_check_trigger</tt></a>,
+<a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>,
or
-<a href = "ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a>; <tt>Size_Policy</tt> is instantiated by
-<a href = "ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a>,
+<a href = "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>; <tt>Size_Policy</tt> is instantiated by
+<a href = "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>,
or
-<a href = "ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a>.
+<a href = "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>.
</p>
<ol>
<li>
-<a href = "../doc/sample_probe_fn.hpp"><tt>sample_probe_fn.hpp</tt>
+<a href = "../pb_assoc/sample_probe_fn.hpp"><tt>sample_probe_fn.hpp</tt>
</a>
</li>
<ol>
<li>
-<a href = "../doc/sample_range_hashing.hpp"><tt>sample_range_hashing.hpp</tt>
+<a href = "../pb_assoc/sample_range_hashing.hpp"><tt>sample_range_hashing.hpp</tt>
</a>
</li>
<ol>
<li>
-<a href = "../doc/sample_ranged_hash_fn.hpp"><tt>sample_ranged_hash_fn.hpp</tt>
+<a href = "../pb_assoc/sample_ranged_hash_fn.hpp"><tt>sample_ranged_hash_fn.hpp</tt>
</a>
</li>
<ol>
<li>
-<a href = "../doc/sample_ranged_probe_fn.hpp"><tt>sample_ranged_probe_fn.hpp</tt>
+<a href = "../pb_assoc/sample_ranged_probe_fn.hpp"><tt>sample_ranged_probe_fn.hpp</tt>
</a>
</li>
<ol>
<li>
-<a href = "../doc/sample_resize_policy.hpp"><tt>sample_resize_policy.hpp</tt>
+<a href = "../pb_assoc/sample_resize_policy.hpp"><tt>sample_resize_policy.hpp</tt>
</a>
</li>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a></pre>
+<pre><a href = "../../pb_assoc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a></pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
+<pre><a href = "../../pb_assoc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
+<pre><a href = "../../pb_assoc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> *</pre>
</td>
</td>
<td>
-<pre><a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> &</pre>
+<pre><a href = "../../pb_assoc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a> &</pre>
</td>
</td>
<td>
-<pre><b>const</b> <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> &</pre>
+<pre><b>const</b> <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> &</pre>
</td>
<tr>
<td>
-<pre><b>inline</b> <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a>
+<pre><b>inline</b> <a href = "../../pb_assoc/tree_assoc_cntnr.html#const_iterator3735930079">const_iterator</a>
<b>operator</b>*
() <b>const</b></pre>
</td>
<td>
-<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
+<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
</td>
</td>
<td>
-<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
+<p>Returns the <tt><b>const</b></tt> node <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
</td>
</td>
<td>
-<p>Compares content to a different <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
+<p>Compares content to a different <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
</td>
</td>
<td>
-<p>Compares content (negatively) to a different <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
+<p>Compares content (negatively) to a different <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> object.</p>
</td>
<tr>
<td>
-<pre><a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#const_node_iterator3735929535">const_node_iterator</a></pre>
+<pre><a href = "../../pb_assoc/tree_assoc_cntnr.html#const_node_iterator3735929535">const_node_iterator</a></pre>
</td>
<tr>
<td>
-<pre><b>inline</b> <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a>
+<pre><b>inline</b> <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a>
<b>operator</b>*
() <b>const</b></pre>
</td>
<td>
-<p>Returns the node <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
+<p>Returns the node <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the left node.</p>
</td>
</td>
<td>
-<p>Returns the node <a href = "../../pb_assoc/doc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
+<p>Returns the node <a href = "../../pb_assoc/tree_assoc_cntnr.html#iterator3735929433">iterator</a> associated with the right node.</p>
</td>