4312e020f1
2008-01-18 Benjamin Kosnik <bkoz@redhat.com> * docs/*: To... * doc/*: ...here. * testsuite/Makefile.am: Move doc-performance to... * Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to... * doc/Makefile.am: Consolidate documentation creation here. (doc-doxygen-html): New. (doc-doxygen-man): New. (doc-performance): New. * doc/Makefile.in: New. * acinclude.m4 (glibcxx_SUBDIRS): Add doc directory. * doc/doxygen/guide.html: Edit for unified html configuration. * doc/doxygen/mainpage.html: Same. * doc/doxygen/run_doxygen: Same, more namespace fixups for man generation. * doc/doxygen/user.cfg.in: Update for doxygen 1.5.4. * include/tr1_impl/random: Remove maint from doxygen markup. * include/tr1_impl/functional: Same. * include/std/tuple: Same. * include/std/streambuf: Same. * include/std/bitset: Same. * include/std/limits: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/sstream: Same. * include/ext/pool_allocator.h: Same. * include/ext/rc_string_base.h: Same. * include/bits/basic_ios.h: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/locale_classes.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/ios_base.h: Same. * include/bits/stl_deque.h: Same. * include/bits/postypes.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/stl_tempbuf.h: Same. * include/bits/stl_construct.h: Same. * include/bits/stl_relops.h: Same. * include/tr1/tuple: Same. * include/backward/auto_ptr.h: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Fixups for line number changes. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/20_util/auto_ptr/assign_neg.cc: Same. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * libmath/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * scripts/make_graphs.py: Correct paths for new layout. 2008-01-17 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (AC_LC_MESSAGES): Remove serial. * linkage.m4 (AC_REPLACE_MATHFUNCS): Same. * configure: Regenerate. * aclocal.m4: Regenerate. From-SVN: r131625
447 lines
13 KiB
HTML
447 lines
13 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta name="generator" content=
|
|
"HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
|
|
|
|
<title>Interface</title>
|
|
<meta http-equiv="Content-Type" content=
|
|
"text/html; charset=us-ascii" />
|
|
</head>
|
|
|
|
<body>
|
|
<div id="page">
|
|
<h1>Interface Specifics</h1>
|
|
|
|
<p>Following are the library's interface specifics. <a href=
|
|
"tutorial.html">Short Tutorial</a> is a short tutorial, and
|
|
<a href="concepts.html">Concepts</a> describes some
|
|
concepts.</p>
|
|
<hr />
|
|
|
|
<h2><a name="namespaces" id="namespaces">Namespace</a></h2>
|
|
|
|
<p>All code is enclosed in namespace <tt>pb_ds</tt>. Nested within
|
|
this is namespace <tt>detail</tt>, which contains the parts of this
|
|
library that are considered implementation details.</p>
|
|
<hr />
|
|
|
|
<h2><a name="containers" id="containers">Containers</a></h2>
|
|
|
|
<h3><a name="containers_assoc" id=
|
|
"containers_assoc">Associative Containers</a></h3>
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"container_base.html"><tt>container_base</tt></a> -
|
|
abstract base class for associative containers.</li>
|
|
|
|
<li>Hash-based:
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"basic_hash_table.html"><tt>basic_hash_table</tt></a>
|
|
- abstract base class for hash-based
|
|
containers</li>
|
|
|
|
<li><a href=
|
|
"cc_hash_table.html"><tt>cc_hash_table</tt></a>
|
|
- concrete collision-chaining hash-based
|
|
containers</li>
|
|
|
|
<li><a href=
|
|
"gp_hash_table.html"><tt>gp_hash_table</tt></a>
|
|
- concrete (general) probing hash-based
|
|
containers</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Tree-based:
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"basic_tree.html"><tt>basic_tree</tt></a>
|
|
- abstract base class for tree and trie based
|
|
containers</li>
|
|
|
|
<li><a href=
|
|
"tree.html"><tt>tree</tt></a>
|
|
- concrete base class for tree-based
|
|
containers</li>
|
|
|
|
<li><a href=
|
|
"trie.html"><tt>trie</tt></a>
|
|
- concrete base class for trie-based
|
|
containers</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>List-based:
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"list_update.html"><tt>list_update</tt></a> -
|
|
singly-linked list with update-policy container</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
|
|
<h3><a name="containers_pq" id="containers_pq">Priority
|
|
Queues</a></h3>
|
|
|
|
<ol>
|
|
<li><a href="priority_queue.html"><tt>priority_queue</tt></a>
|
|
- priority queue</li>
|
|
</ol>
|
|
<hr />
|
|
|
|
<h2><a name="tag" id="tag">Container Tags and
|
|
Traits</a></h2>
|
|
|
|
<h3><a name="ds_ts" id="ds_ts">Container Tags</a></h3>
|
|
|
|
<h4><a name="ds_ts_common" id="ds_ts_common">Common</a></h4>
|
|
|
|
<ol>
|
|
<li><a href="container_tag.html"><tt>container_tag</tt></a> -
|
|
base class for data structure tags</li>
|
|
</ol>
|
|
|
|
<h4><a name="ds_ts_assoc" id=
|
|
"ds_ts_assoc">Associative-Containers</a></h4>
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"associative_container_tag.html"><tt>associative_container_tag</tt></a> -
|
|
base class for associative-container data structure tags</li>
|
|
|
|
<li><a href=
|
|
"basic_hash_tag.html"><tt>basic_hash_tag</tt></a> -
|
|
base class for hash-based structure tags</li>
|
|
|
|
<li><a href="cc_hash_tag.html"><tt>cc_hash_tag</tt></a>
|
|
- collision-chaining hash structure tag</li>
|
|
|
|
<li><a href="gp_hash_tag.html"><tt>gp_hash_tag</tt></a>
|
|
- (general) probing hash structure tag</li>
|
|
|
|
<li><a href=
|
|
"basic_tree_tag.html"><tt>basic_tree_tag</tt></a>
|
|
- base class for tree-like structure tags</li>
|
|
|
|
<li><a href=
|
|
"tree_tag.html"><tt>tree_tag</tt></a> -
|
|
base class for tree structure tags</li>
|
|
|
|
<li><a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
|
|
- red-black tree structure tag/li></li>
|
|
|
|
<li><a href=
|
|
"splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -
|
|
splay tree structure tag</li>
|
|
|
|
<li><a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
|
|
- ordered-vector tree structure tag</li>
|
|
|
|
<li><a href=
|
|
"trie_tag.html"><tt>trie_tag</tt></a> -
|
|
trie structure tag</li>
|
|
|
|
<li><a href=
|
|
"pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -
|
|
PATRICIA trie structure tag</li>
|
|
|
|
<li><a href="list_update_tag.html"><tt>list_update_tag</tt></a> - list
|
|
(with updates) structure tag</li>
|
|
</ol>
|
|
|
|
<h4><a name="ds_ts_pq" id="ds_ts_pq">Priority-Queues</a></h4>
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"priority_queue_tag.html"><tt>priority_queue_tag</tt></a> - base
|
|
class for priority-queue data structure tags</li>
|
|
|
|
<li><a href=
|
|
"pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -
|
|
pairing-heap structure tag.</li>
|
|
|
|
<li><a href=
|
|
"binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
|
|
- binomial-heap structure tag</li>
|
|
|
|
<li><a href=
|
|
"rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
|
|
- redundant-counter binomial-heap (<i>i.e.</i>, a heap where
|
|
binomial trees form a sequence that is similar to a
|
|
de-amortized bit-addition algorithm) structure tag</li>
|
|
|
|
<li><a href=
|
|
"binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -
|
|
binary heap (based on an array or an array of nodes)
|
|
structure tag</li>
|
|
|
|
<li><a href=
|
|
"thin_heap_tag.html"><tt>thin_heap_tag</tt></a> - thin
|
|
heap (an alternative [<a href=
|
|
"references.html#kt99fat_heaps">kt99fat_heaps</a>] to
|
|
Fibonacci heap) data structure tag.</li>
|
|
</ol>
|
|
|
|
<h3><a name="ds_inv_tag" id="ds_inv_tag">Invalidation-Guarantee
|
|
Tags</a></h3>
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a>
|
|
- weakest invalidation guarantee</li>
|
|
|
|
<li><a href=
|
|
"point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>
|
|
- stronger invalidation guarantee</li>
|
|
|
|
<li><a href=
|
|
"range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a>
|
|
- strongest invalidation guarantee</li>
|
|
</ol>
|
|
|
|
<h3><a name="container_traits" id="container_traits">Container
|
|
Traits</a></h3>
|
|
|
|
<ol>
|
|
<li><a href="pq_container_traits.html"><tt>container_traits</tt></a> -
|
|
traits for determining underlying data structure
|
|
properties</li>
|
|
</ol>
|
|
<hr />
|
|
|
|
<h2><a name="ds_policy_classes" id=
|
|
"ds_policy_classes">Container Policy Classes</a></h2>
|
|
|
|
<h3><a name="hash_related_policies" id=
|
|
"hash_related_policies">Hash Policies</a></h3>
|
|
|
|
<h4>Hash and Probe Policies</h4>
|
|
|
|
<ol>
|
|
<li>Hash Functions:
|
|
|
|
<ol>
|
|
<li><a href="null_hash_fn.html"><tt>null_hash_fn</tt></a>
|
|
- type indicating one-step range-hashing</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Range-Hashing Functions:
|
|
|
|
<ol>
|
|
<li><a href="sample_range_hashing.html">Sample
|
|
range-hashing function</a> - interface required of a
|
|
range-hashing functor</li>
|
|
|
|
<li><a href=
|
|
"direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
|
|
- (bit) mask-based range hashing functor</li>
|
|
|
|
<li><a href=
|
|
"direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
|
|
- modulo-based range hashing functor</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Probe Functions:
|
|
|
|
<ol>
|
|
<li><a href="sample_probe_fn.html">Sample probe
|
|
function</a> - interface required of a probe functor</li>
|
|
|
|
<li><a href=
|
|
"null_probe_fn.html"><tt>null_probe_fn</tt></a> - type
|
|
indicating one-step ranged-probe</li>
|
|
|
|
<li><a href=
|
|
"linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -
|
|
linear-probe functor</li>
|
|
|
|
<li><a href=
|
|
"quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>-
|
|
quadratic-probe functor</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Ranged-Hash Functions:
|
|
|
|
<ol>
|
|
<li><a href="sample_ranged_hash_fn.html">Sample
|
|
ranged-hash function</a> - interface required of a
|
|
ranged-hash functor</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Ranged-Probe Functions:
|
|
|
|
<ol>
|
|
<li><a href="sample_ranged_probe_fn.html">Sample
|
|
ranged-probe function</a> - interface required of a
|
|
ranged-probe functor</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
|
|
<h4>Resize Policies</h4>
|
|
<ol>
|
|
<li>Resize Policies:
|
|
|
|
<ol>
|
|
<li><a href="sample_resize_policy.html">Sample resize
|
|
policy</a> - interface required of a resize policy</li>
|
|
|
|
<li><a href=
|
|
"hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
|
|
- standard resize policy</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Size Policies:
|
|
|
|
<ol>
|
|
<li><a href="sample_size_policy.html">Sample size
|
|
policy</a> - interface required of a size policy</li>
|
|
|
|
<li><a href=
|
|
"hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
|
|
- exponential size policy (typically used with (bit) mask
|
|
range-hashing)</li>
|
|
|
|
<li><a href=
|
|
"hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
|
|
- prime size policy (typically used with modulo
|
|
range-hashing)</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Trigger Policies:
|
|
|
|
<ol>
|
|
<li><a href="sample_resize_trigger.html">Sample trigger
|
|
policy</a> - interface required of a trigger policy</li>
|
|
|
|
<li><a href=
|
|
"hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
|
|
- trigger policy based on load checks</li>
|
|
|
|
<li><a href=
|
|
"cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
|
|
- trigger policy based on collision checks</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
|
|
<h3><a name="tree_related_policies" id=
|
|
"tree_related_policies">Tree Policies</a></h3>
|
|
|
|
<h4>Tree Node-Update Policies</h4>
|
|
|
|
|
|
<ol>
|
|
<li><a href="sample_tree_node_update.html">Sample node
|
|
updater policy</a> - interface required of a tree
|
|
node-updating functor</li>
|
|
|
|
<li><a href=
|
|
"null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
|
|
- null policy indicating no updates are required</li>
|
|
|
|
<li><a href=
|
|
"tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
|
|
- updater enabling order statistics queries</li>
|
|
</ol>
|
|
|
|
<h3><a name="trie_related_policies" id=
|
|
"trie_related_policies">Trie Policies</a></h3>
|
|
|
|
|
|
<h4>Trie Element-Access Traits</h4>
|
|
|
|
<ol>
|
|
<li><a href="sample_trie_e_access_traits.html">Sample
|
|
element-access traits</a> - interface required of
|
|
element-access traits</li>
|
|
|
|
<li><a href=
|
|
"string_trie_e_access_traits.html"><tt>string_trie_e_access_traits</tt></a>
|
|
- String element-access traits</li>
|
|
</ol>
|
|
|
|
<h4>Trie Node-Update Policies</h4>
|
|
|
|
|
|
<ol>
|
|
<li><a href="sample_trie_node_update.html">Sample node
|
|
updater policy</a> - interface required of a trie node
|
|
updater</li>
|
|
|
|
<li><a href=
|
|
"null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
|
|
- null policy indicating no updates are required</li>
|
|
|
|
<li><a href=
|
|
"trie_prefix_search_node_update.html"><tt>trie_prefix_search_node_update</tt></a>
|
|
- updater enabling prefix searches</li>
|
|
|
|
<li><a href=
|
|
"trie_order_statistics_node_update.html"><tt>trie_order_statistics_node_update</tt></a>
|
|
- updater enabling order statistics queries</li>
|
|
</ol>
|
|
|
|
<h3><a name="list_related_policies" id=
|
|
"list_related_policies">List Policies</a></h3>
|
|
|
|
<h4>List Update Policies</h4>
|
|
|
|
|
|
<ol>
|
|
<li><a href="sample_update_policy.html">Sample list update
|
|
policy</a> - interface required of a list update policy</li>
|
|
|
|
<li><a href=
|
|
"move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
|
|
- move-to-front update algorithm</li>
|
|
|
|
<li><a href=
|
|
"counter_lu_policy.html"><tt>counter_lu_policy</tt></a> -
|
|
counter update algorithm</li>
|
|
</ol>
|
|
|
|
<h3><a name="ds_pol" id="ds_pol">Mapped-Type Policies</a></h3>
|
|
|
|
|
|
<ol>
|
|
<li><a href=
|
|
"null_mapped_type.html"><tt>null_mapped_type</tt></a> - data
|
|
policy indicating that a container is a "set"</li>
|
|
</ol>
|
|
<hr />
|
|
|
|
<h2><a name="exceptions" id="exceptions">Exceptions</a></h2>
|
|
|
|
|
|
<ol>
|
|
<li><a href="exceptions.html"><tt>container_error</tt></a>
|
|
- base class for all policy-based data structure errors</li>
|
|
|
|
<li><a href=
|
|
"insert_error.html"><tt>insert_error</tt></a></li>
|
|
|
|
<li><a href="join_error.html"><tt>join_error</tt></a></li>
|
|
|
|
<li><a href=
|
|
"resize_error.html"><tt>resize_error</tt></a></li>
|
|
</ol>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|