1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 5<head> 6 <meta name="generator" content= 7 "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> 8 9 <title>Examples</title> 10 <meta http-equiv="Content-Type" content= 11 "text/html; charset=us-ascii" /> 12 </head> 13 14<body> 15 <div id="page"> 16 <h1>Associative-Container Examples</h1> 17 18 <h2><a name="basic_usage" id="basic_usage">Basic Use</a></h2> 19 20 <ol> 21 <li> 22 <a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_map.cc"><tt>basic_map.cc</tt></a> 23 Basic use of "maps".</li> 24 25 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_set.cc"><tt>basic_set.cc</tt></a> 26 Basic use of "sets".</li> 27 28 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/erase_if.cc"><tt>erase_if.cc</tt></a> 29 Conditionally erasing values from a container object.</li> 30 </ol> 31 32 <h2><a name="generics" id="generics">Generics</a></h2> 33 34 <ol> 35 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc"><tt>assoc_container_traits.cc</tt></a> 36 Using <a href= 37 "assoc_container_traits.html"><tt>container_traits</tt></a> to query 38 about underlying data structure behavior.</li> 39 40 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc"><tt>hash_find_neg.cc</tt></a> 41 A non-compiling example showing wrong use of finding keys in 42 hash-based containers.</li> 43 </ol> 44 45 <h2><a name="hash_based" id="hash_based">Hash-Based 46 Containers</a></h2> 47 48 49 <h3><a name="resize_related" id="resize_related">Resize 50 Related</a></h3> 51 52 53 <ol> 54 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc"><tt>hash_initial_size.cc</tt></a> 55 Setting the initial size of a hash-based container 56 object.</li> 57 58 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc"><tt>hash_resize_neg.cc</tt></a> 59 A non-compiling example showing how not to resize a 60 hash-based container object.</li> 61 62 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize.cc"><tt>hash_resize.cc</tt></a> 63 Resizing the size of a hash-based container object.</li> 64 65 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc"><tt>hash_illegal_resize.cc</tt></a> 66 Showing an illegal resize of a hash-based container 67 object.</li> 68 69 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc"><tt>hash_load_set_change.cc</tt></a> 70 Changing the load factors of a hash-based container 71 object.</li> 72 </ol> 73 74 <h3><a name="hash_related" id="hash_related">Hash-Function 75 Related</a></h3> 76 77 78 <ol> 79 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_mod.cc"><tt>hash_mod.cc</tt></a> 80 Using a modulo range-hashing function for the case of an 81 unknown skewed key distribution.</li> 82 83 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc"><tt>shift_mask.cc</tt></a> 84 Writing a range-hashing functor for the case of a known 85 skewed key distribution.</li> 86 87 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/store_hash.cc"><tt>store_hash.cc</tt></a> 88 Storing the hash value along with each key.</li> 89 90 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/ranged_hash.cc"><tt>ranged_hash.cc</tt></a> 91 Writing a ranged-hash functor.</li> 92 </ol> 93 94 <h2><a name="tree_like_based" id= "tree_like_based">Tree-Like Containers (Trees and 95 Tries)</a></h2> 96 97 98 <h3><a name="node_invariants" id= 99 "node_invariants">Node-Invariants</a></h3> 100 101 102 <ol> 103 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc"><tt>tree_order_statistics.cc</tt></a> 104 Using trees for order statistics.</li> 105 106 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_intervals.cc"><tt>tree_intervals.cc</tt></a> 107 Augmenting trees to support operations on line 108 intervals.</li> 109 </ol> 110 111 <h3><a name="split_join" id="split_join">Split and 112 Join</a></h3> 113 114 115 <ol> 116 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_join.cc"><tt>tree_join.cc</tt></a> 117 Joining two tree-based container objects.</li> 118 119 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_split.cc"><tt>trie_split.cc</tt></a> 120 Splitting a PATRICIA trie container object.</li> 121 122 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc"><tt>tree_order_statistics_join.cc</tt></a> 123 Order statistics while joining two tree-based container 124 objects.</li> 125 </ol> 126 127 <h2><a name="trie_based" id="trie_based">Trie-Based 128 Containers</a></h2> 129 130 131 <ol> 132 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_dna.cc"><tt>trie_dna.cc</tt></a> 133 Using a PATRICIA trie for DNA strings.</li> 134 135 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc"><tt>trie_prefix_search.cc</tt></a> 136 Using a PATRICIA trie for finding all entries whose key 137 matches a given prefix.</li> 138 </ol> 139 140 <h2><a name="mmaps" id="mmaps">"Multimaps" and 141 "Multisets".</a></h2> 142 <ol> 143 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multimap.cc"><tt>basic_multimap.cc</tt></a> 144 Basic use of "multimaps".</li> 145 146 <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multiset.cc"><tt>basic_multiset.cc</tt></a> 147 Basic use of "multisets".</li> 148 </ol> 149 </div> 150</body> 151</html> 152