<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ITK: itk_hash_set.h Source File</title> <link href="DoxygenStyle.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 --> <center> <a href="index.html" class="qindex">Main Page</a> <a href="modules.html" class="qindex">Groups</a> <a href="namespaces.html" class="qindex">Namespace List</a> <a href="hierarchy.html" class="qindex">Class Hierarchy</a> <a href="classes.html" class="qindex">Alphabetical List</a> <a href="annotated.html" class="qindex">Compound List</a> <a href="files.html" class="qindex">File List</a> <a href="namespacemembers.html" class="qindex">Namespace Members</a> <a href="functions.html" class="qindex">Compound Members</a> <a href="globals.html" class="qindex">File Members</a> <a href="pages.html" class="qindex">Concepts</a></center> <!-- Generated by Doxygen 1.5.9 --> <div class="navpath"><a class="el" href="dir_02e23d841c198393a6e961e9a0678fff.html">Code</a> » <a class="el" href="dir_ea7fc529ede9a38b0438cf13831ae873.html">Common</a> </div> <div class="contents"> <h1>itk_hash_set.h</h1><a href="itk__hash__set_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span> <a name="l00002"></a>00002 <span class="comment"></span> <a name="l00003"></a>00003 <span class="comment"> Program: Insight Segmentation & Registration Toolkit</span> <a name="l00004"></a>00004 <span class="comment"> Module: $RCSfile: itk_hash_set.h,v $</span> <a name="l00005"></a>00005 <span class="comment"> Language: C++</span> <a name="l00006"></a>00006 <span class="comment"> Date: $Date: 2009-02-05 19:05:01 $</span> <a name="l00007"></a>00007 <span class="comment"> Version: $Revision: 1.14 $</span> <a name="l00008"></a>00008 <span class="comment"></span> <a name="l00009"></a>00009 <span class="comment"> Copyright (c) Insight Software Consortium. All rights reserved.</span> <a name="l00010"></a>00010 <span class="comment"> See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.</span> <a name="l00011"></a>00011 <span class="comment"></span> <a name="l00012"></a>00012 <span class="comment"> This software is distributed WITHOUT ANY WARRANTY; without even </span> <a name="l00013"></a>00013 <span class="comment"> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR </span> <a name="l00014"></a>00014 <span class="comment"> PURPOSE. See the above copyright notices for more information.</span> <a name="l00015"></a>00015 <span class="comment"></span> <a name="l00016"></a>00016 <span class="comment">=========================================================================*/</span> <a name="l00054"></a>00054 <span class="preprocessor">#ifndef __itk_hash_set_h</span> <a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#define __itk_hash_set_h</span> <a name="l00056"></a>00056 <span class="preprocessor"></span> <a name="l00057"></a>00057 <span class="preprocessor">#if (defined(__GNUC__) && (((__GNUC__==3) && (__GNUC_MINOR__>=1) || (__GNUC__>3) ) || ( (__GNUC__==4) && defined(__INTEL_COMPILER) ) )) || (defined(__IBMCPP__) && __IBMCPP__ >= 600)</span> <a name="l00058"></a>00058 <span class="preprocessor"></span><span class="comment">// Use this hash_map for GNU_C versions >= 3.1, IBMCPP >=600, or Intel compilers with GCCv4</span> <a name="l00059"></a>00059 <span class="preprocessor">#include <ext/hash_set></span> <a name="l00060"></a>00060 <a name="l00061"></a>00061 <span class="keyword">namespace </span>itk <a name="l00062"></a>00062 { <a name="l00063"></a>00063 <span class="keyword">using</span> __gnu_cxx::hash; <a name="l00064"></a>00064 <span class="keyword">using</span> __gnu_cxx::hash_set; <a name="l00065"></a>00065 <span class="keyword">using</span> __gnu_cxx::hash_multiset; <a name="l00066"></a>00066 } <a name="l00067"></a>00067 <a name="l00068"></a>00068 <span class="preprocessor">#else</span> <a name="l00069"></a>00069 <span class="preprocessor"></span> <a name="l00070"></a>00070 <span class="preprocessor">#include "<a class="code" href="itk__hashtable_8h.html">itk_hashtable.h</a>"</span> <a name="l00071"></a>00071 <span class="preprocessor">#include <functional></span> <a name="l00072"></a>00072 <a name="l00073"></a>00073 <span class="comment">// ---</span> <a name="l00074"></a>00074 <a name="l00075"></a>00075 <span class="keyword">namespace </span>itk <a name="l00076"></a>00076 { <a name="l00077"></a>00077 <a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">class</span> Value, VCL_DFL_TMPL_PARAM_STLDECL(HashFcn,hash<Value>), <a name="l00083"></a>00083 VCL_DFL_TMPL_PARAM_STLDECL(EqualKey,std::equal_to<Value>), <a name="l00084"></a>00084 VCL_DFL_TYPE_PARAM_STLDECL(Alloc,std::allocator<<span class="keywordtype">char</span>> ) > <a name="l00085"></a><a class="code" href="classitk_1_1hash__set.html">00085</a> <span class="keyword">class </span><a class="code" href="classitk_1_1hash__set.html" title="Replacement for STL hash set because some systems do not support it, or support it...">hash_set</a> <a name="l00086"></a>00086 { <a name="l00087"></a>00087 <span class="keyword">private</span>: <a name="l00088"></a>00088 <span class="keyword">typedef</span> <a class="code" href="classitk_1_1hashtable.html">hashtable<Value, Value, HashFcn, std::identity<Value></a>, <a name="l00089"></a>00089 EqualKey, Alloc> <a class="code" href="classitk_1_1hashtable.html">ht</a>; <a name="l00090"></a>00090 <span class="keyword">typedef</span> <a class="code" href="classitk_1_1hash__set.html" title="Replacement for STL hash set because some systems do not support it, or support it...">hash_set<Value, HashFcn, EqualKey, Alloc></a> <span class="keyword">self</span>; <a name="l00091"></a>00091 <span class="keyword">public</span>: <a name="l00092"></a><a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">00092</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#ce7f39999dfd0460fafc792cc0fcf31b">ht::key_type</a> <a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">key_type</a>; <a name="l00093"></a><a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">00093</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#9b4944269bde048047a0379fb26b1f26">ht::value_type</a> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>; <a name="l00094"></a><a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">00094</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#9573613f935976ffd4446f4fa6037d34">ht::hasher</a> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>; <a name="l00095"></a><a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">00095</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#7d43a00a83b7a980ef685ec55aabeccc">ht::key_equal</a> <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>; <a name="l00096"></a>00096 <a name="l00097"></a><a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">00097</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#24390ecc706db752bc17b789feded607">ht::size_type</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a>; <a name="l00098"></a><a class="code" href="classitk_1_1hash__set.html#1b4ef8e9974573e37d329170c9d47ecf">00098</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#4823f0a7e1138fe9afc54b858ee8f9b9">ht::difference_type</a> <a class="code" href="classitk_1_1hash__set.html#1b4ef8e9974573e37d329170c9d47ecf">difference_type</a>; <a name="l00099"></a><a class="code" href="classitk_1_1hash__set.html#4ff5147f9d96a1517f5dcf2e2d0e1c49">00099</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#77fe29fafb247e4d756f5e749e55ba31">ht::const_pointer</a> <a class="code" href="classitk_1_1hash__set.html#4ff5147f9d96a1517f5dcf2e2d0e1c49">pointer</a>; <a name="l00100"></a><a class="code" href="classitk_1_1hash__set.html#fb850fff51b5b8f0a8e5333a1fe0778f">00100</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#77fe29fafb247e4d756f5e749e55ba31">ht::const_pointer</a> <a class="code" href="classitk_1_1hash__set.html#fb850fff51b5b8f0a8e5333a1fe0778f">const_pointer</a>; <a name="l00101"></a><a class="code" href="classitk_1_1hash__set.html#41a005a232d3458edde02015c3cc9530">00101</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#79422138a06bd1c6687779e27e236ece">ht::const_reference</a> <a class="code" href="classitk_1_1hash__set.html#41a005a232d3458edde02015c3cc9530">reference</a>; <a name="l00102"></a><a class="code" href="classitk_1_1hash__set.html#94eaaae80a43ccc891977e5444cad479">00102</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#79422138a06bd1c6687779e27e236ece">ht::const_reference</a> <a class="code" href="classitk_1_1hash__set.html#94eaaae80a43ccc891977e5444cad479">const_reference</a>; <a name="l00103"></a>00103 <span class="comment">// SunPro bug</span> <a name="l00104"></a><a class="code" href="classitk_1_1hash__set.html#70f9fd6393d374ad06380b70a8720809">00104</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structitk_1_1hashtable__const__iterator.html">ht::const_iterator</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a>; <a name="l00105"></a><a class="code" href="classitk_1_1hash__set.html#64d18de3953beede2cccdb0dccc52eaa">00105</a> <span class="keyword">typedef</span> <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a>; <a name="l00106"></a>00106 <a name="l00107"></a>00107 <span class="comment">// vc6 addition</span> <a name="l00108"></a><a class="code" href="classitk_1_1hash__set.html#159b554160084d586af4b2dbe490a144">00108</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structitk_1_1hashtable__iterator.html">ht::iterator</a> <a class="code" href="structitk_1_1hashtable__iterator.html">ht_iterator</a>; <a name="l00109"></a>00109 <a name="l00110"></a><a class="code" href="classitk_1_1hash__set.html#b892589ecc1637e8698c3bb2f4672d18">00110</a> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a> <a class="code" href="classitk_1_1hash__set.html#b892589ecc1637e8698c3bb2f4672d18">hash_funct</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1d2c56a89e24be3b4b03bfd6f04793e2">hash_funct</a>(); } <a name="l00111"></a><a class="code" href="classitk_1_1hash__set.html#b82d46e0ee9bdf838043e4bf89b7a42d">00111</a> <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a> <a class="code" href="classitk_1_1hash__set.html#b82d46e0ee9bdf838043e4bf89b7a42d">key_eq</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#3ac1ff41a505f4fc4bd2927bcb7e0ef4">key_eq</a>(); } <a name="l00112"></a>00112 <a name="l00113"></a>00113 <span class="keyword">private</span>: <a name="l00114"></a>00114 ht rep; <a name="l00115"></a>00115 <a name="l00116"></a>00116 <span class="keyword">public</span>: <a name="l00117"></a><a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">00117</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>() : rep(100, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) {} <a name="l00118"></a><a class="code" href="classitk_1_1hash__set.html#878a25e9c738bd14362d4216fa0707c8">00118</a> <a class="code" href="classitk_1_1hash__set.html#878a25e9c738bd14362d4216fa0707c8">hash_set</a>(<a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n) : rep(n, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) {} <a name="l00119"></a><a class="code" href="classitk_1_1hash__set.html#8d00af9adf7aed012564cd2c060d4a5d">00119</a> <a class="code" href="classitk_1_1hash__set.html#8d00af9adf7aed012564cd2c060d4a5d">hash_set</a>(<a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf) : rep(n, hf, <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) {} <a name="l00120"></a><a class="code" href="classitk_1_1hash__set.html#f9d24b60372e890bf96c95cdabc1e31b">00120</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>& eql) <a name="l00121"></a>00121 : rep(n, hf, eql) {} <a name="l00122"></a>00122 <a name="l00123"></a><a class="code" href="classitk_1_1hash__set.html#3ed4aa8b408880bd341769a3e06c9ae5">00123</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* l) <a name="l00124"></a>00124 : rep(100, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00125"></a><a class="code" href="classitk_1_1hash__set.html#8a123899e8db2434c0fdbda2a18f350e">00125</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n) <a name="l00126"></a>00126 : rep(n, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00127"></a><a class="code" href="classitk_1_1hash__set.html#d8a7f94da6df5ca9b79606b0e894d654">00127</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <a name="l00128"></a>00128 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf) <a name="l00129"></a>00129 : rep(n, hf, <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00130"></a><a class="code" href="classitk_1_1hash__set.html#db1dad0b0c1f591cdc3018670bd4d4c8">00130</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <a name="l00131"></a>00131 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>& eql) <a name="l00132"></a>00132 : rep(n, hf, eql) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00133"></a>00133 <a name="l00134"></a><a class="code" href="classitk_1_1hash__set.html#37c615f411cb698309aae1851d5712a6">00134</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l) <a name="l00135"></a>00135 : rep(100, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00136"></a><a class="code" href="classitk_1_1hash__set.html#fed2e17f73604b1d52fb57c028230236">00136</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n) <a name="l00137"></a>00137 : rep(n, <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>(), <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00138"></a><a class="code" href="classitk_1_1hash__set.html#9d811405092caadc4aaf97d59d4cbc88">00138</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <a name="l00139"></a>00139 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf) <a name="l00140"></a>00140 : rep(n, hf, <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00141"></a><a class="code" href="classitk_1_1hash__set.html#dabb3fe920a5a085234517d74175f4be">00141</a> <a class="code" href="classitk_1_1hash__set.html#6017a22049e436afc5158fbbf97d6bda">hash_set</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n, <a name="l00142"></a>00142 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#321ed7a494eafdffb3a749f7615cbd85">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#60d5d3e5f7e289cc410ced89a20afa7c">key_equal</a>& eql) <a name="l00143"></a>00143 : rep(n, hf, eql) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00144"></a>00144 <a name="l00145"></a>00145 <span class="keyword">public</span>: <a name="l00146"></a><a class="code" href="classitk_1_1hash__set.html#13c2db71488bd185ca4a4d3c854388f4">00146</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#13c2db71488bd185ca4a4d3c854388f4">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1099e731a42e664826073e0af53072d3">size</a>(); } <a name="l00147"></a><a class="code" href="classitk_1_1hash__set.html#d0612f4df1089b461b88fb0f0e7b7f1e">00147</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#d0612f4df1089b461b88fb0f0e7b7f1e">max_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1eb088b174e2efd1935c67fafb94d8c1">max_size</a>(); } <a name="l00148"></a><a class="code" href="classitk_1_1hash__set.html#ca40039a7a89c543d45cd5f2fb7c13eb">00148</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1hash__set.html#ca40039a7a89c543d45cd5f2fb7c13eb">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#b5ee85ee90fb247a287b91ff93c8a5d0">empty</a>(); } <a name="l00149"></a><a class="code" href="classitk_1_1hash__set.html#66d60fe50bd64ee22cce93dea7d5e630">00149</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#66d60fe50bd64ee22cce93dea7d5e630">swap</a>(<span class="keyword">self</span>& hs) { rep.<a class="code" href="classitk_1_1hashtable.html#78e86996d21870444c69be2f971f0e52">swap</a>(hs.rep); } <a name="l00150"></a>00150 <a name="l00151"></a>00151 <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator==ITK_FRIEND_TEMPLATE_FUNCTION_ARGUMENT(<span class="keyword">self</span>)(<span class="keyword">const</span> <span class="keyword">self</span> &, <span class="keyword">const</span> <span class="keyword">self</span> &); <a name="l00152"></a>00152 <a name="l00153"></a><a class="code" href="classitk_1_1hash__set.html#09262a92c4a1a5217baac50c33c87621">00153</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__set.html#09262a92c4a1a5217baac50c33c87621">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#58bf22f83b683a429d29c639ba648fb0">begin</a>(); } <a name="l00154"></a><a class="code" href="classitk_1_1hash__set.html#87192dcf32d1ea094bb3f0d1c09fd64c">00154</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__set.html#87192dcf32d1ea094bb3f0d1c09fd64c">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#b94a445bec49543c2357c33e99436677">end</a>(); } <a name="l00155"></a>00155 <a name="l00156"></a>00156 <span class="keyword">public</span>: <a name="l00157"></a><a class="code" href="classitk_1_1hash__set.html#f0c5c5a17efcfda2064f3f33563b2b76">00157</a> std::pair<iterator, bool> <a class="code" href="classitk_1_1hash__set.html#f0c5c5a17efcfda2064f3f33563b2b76">insert</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>& obj) <a name="l00158"></a>00158 { <a name="l00159"></a>00159 <span class="preprocessor">#ifdef _MSC_VER</span> <a name="l00160"></a>00160 <span class="preprocessor"></span> std::pair< ht::iterator, bool> p = rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(obj); <a name="l00161"></a>00161 <span class="preprocessor">#else</span> <a name="l00162"></a>00162 <span class="preprocessor"></span> std::pair<typename ht::iterator, bool> p = rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(obj); <a name="l00163"></a>00163 <span class="preprocessor">#endif</span> <a name="l00164"></a>00164 <span class="preprocessor"></span> <span class="keywordflow">return</span> std::pair<iterator, bool>(p.first, p.second); <a name="l00165"></a>00165 } <a name="l00166"></a><a class="code" href="classitk_1_1hash__set.html#9ba2ebfbba8596d35d963509723d3975">00166</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#9ba2ebfbba8596d35d963509723d3975">insert</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>* l) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f,l); } <a name="l00167"></a><a class="code" href="classitk_1_1hash__set.html#9a903d44bc66b068cd664306e33b12bd">00167</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#9a903d44bc66b068cd664306e33b12bd">insert</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l) { rep.<a class="code" href="classitk_1_1hashtable.html#240c395abae08460fe16e99426d1a699">insert_unique</a>(f, l); } <a name="l00168"></a><a class="code" href="classitk_1_1hash__set.html#1baea0f435007c287b4dde6647c7b2f2">00168</a> std::pair<iterator, bool> <a class="code" href="classitk_1_1hash__set.html#1baea0f435007c287b4dde6647c7b2f2">insert_noresize</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#498862a291e4c09279131a3b1d1c5372">value_type</a>& obj) <a name="l00169"></a>00169 { <a name="l00170"></a>00170 <span class="preprocessor">#ifdef _MSC_VER</span> <a name="l00171"></a>00171 <span class="preprocessor"></span> std::pair<ht::iterator, bool> p = rep.<a class="code" href="classitk_1_1hashtable.html#88ecf906d4eb91a5c95f02d89e1a8865">insert_unique_noresize</a>(obj); <a name="l00172"></a>00172 <span class="preprocessor">#else</span> <a name="l00173"></a>00173 <span class="preprocessor"></span> std::pair<typename ht::iterator, bool> p = rep.<a class="code" href="classitk_1_1hashtable.html#88ecf906d4eb91a5c95f02d89e1a8865">insert_unique_noresize</a>(obj); <a name="l00174"></a>00174 <span class="preprocessor">#endif</span> <a name="l00175"></a>00175 <span class="preprocessor"></span> <span class="keywordflow">return</span> std::pair<iterator, bool>(p.first, p.second); <a name="l00176"></a>00176 } <a name="l00177"></a>00177 <a name="l00178"></a><a class="code" href="classitk_1_1hash__set.html#2b240bd599e67ad4a148e590b11e6b0a">00178</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__set.html#2b240bd599e67ad4a148e590b11e6b0a">find</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">key_type</a>& key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#de9a7a756cb3ab27dd7d9797b9a3958c">find</a>(key); } <a name="l00179"></a>00179 <a name="l00180"></a><a class="code" href="classitk_1_1hash__set.html#3976ea90cff2740696d3e7fb1559d5f1">00180</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#3976ea90cff2740696d3e7fb1559d5f1">count</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">key_type</a>& key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#bfce65fbba7b7aa67653925aebe2dac4">count</a>(key); } <a name="l00181"></a>00181 <a name="l00182"></a><a class="code" href="classitk_1_1hash__set.html#ce8353a206ee9b90868290b47f113572">00182</a> std::pair<iterator, iterator> <a class="code" href="classitk_1_1hash__set.html#ce8353a206ee9b90868290b47f113572">equal_range</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">key_type</a>& key)<span class="keyword"> const</span> <a name="l00183"></a>00183 <span class="keyword"> </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#9ab88d24837423d2913890c7e0d0596c">equal_range</a>(key); } <a name="l00184"></a>00184 <a name="l00185"></a><a class="code" href="classitk_1_1hash__set.html#e1383173cb5c7d0010f8da3086bc07d1">00185</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#e1383173cb5c7d0010f8da3086bc07d1">erase</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html#c894d74df6f354254d5d51642cbbcfa9">key_type</a>& key) {<span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(key); } <a name="l00186"></a><a class="code" href="classitk_1_1hash__set.html#1767078adaae30fab3bf6c508481d3a4">00186</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#1767078adaae30fab3bf6c508481d3a4">erase</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> it) { rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(it); } <a name="l00187"></a><a class="code" href="classitk_1_1hash__set.html#ccade55609b55e91397776639b55290e">00187</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#ccade55609b55e91397776639b55290e">erase</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> l) { rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(f, l); } <a name="l00188"></a><a class="code" href="classitk_1_1hash__set.html#910c3418d46597ff31a70b379277ad4c">00188</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#910c3418d46597ff31a70b379277ad4c">clear</a>() { rep.<a class="code" href="classitk_1_1hashtable.html#8277af2e2c3a55380bb0e6fee17942ca">clear</a>(); } <a name="l00189"></a>00189 <a name="l00190"></a>00190 <span class="keyword">public</span>: <a name="l00191"></a><a class="code" href="classitk_1_1hash__set.html#b6b9b5543f41811cf25db596f0bac830">00191</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__set.html#b6b9b5543f41811cf25db596f0bac830">resize</a>(<a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> hint) { rep.<a class="code" href="classitk_1_1hashtable.html#f40249391498b87b6ee4765a034d3ebe">resize</a>(hint); } <a name="l00192"></a><a class="code" href="classitk_1_1hash__set.html#18851fad5edd90be2f4ff3cc961eac5d">00192</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#18851fad5edd90be2f4ff3cc961eac5d">bucket_count</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#05913daab175ec271753c0134762c7c7">bucket_count</a>(); } <a name="l00193"></a><a class="code" href="classitk_1_1hash__set.html#cf4a8be3e7ca54b1b1de0c4313b0c183">00193</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#cf4a8be3e7ca54b1b1de0c4313b0c183">max_bucket_count</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#573ec83655435defacce1c4c39637e18">max_bucket_count</a>(); } <a name="l00194"></a><a class="code" href="classitk_1_1hash__set.html#e0056442d7a2ec08fcb0b08a529142a4">00194</a> <a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> <a class="code" href="classitk_1_1hash__set.html#e0056442d7a2ec08fcb0b08a529142a4">elems_in_bucket</a>(<a class="code" href="classitk_1_1hash__set.html#d2ec65c858ff53a1cf1b08611c00a948">size_type</a> n)<span class="keyword"> const</span> <a name="l00195"></a>00195 <span class="keyword"> </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#57b0c1ab29503a23eb0d38cc4447e67b">elems_in_bucket</a>(n); } <a name="l00196"></a>00196 }; <a name="l00197"></a>00197 <a name="l00198"></a>00198 <a name="l00199"></a>00199 <span class="keyword">template</span> <<span class="keyword">class</span> Value, VCL_DFL_TMPL_PARAM_STLDECL(HashFcn,hash<Value>), <a name="l00200"></a>00200 VCL_DFL_TMPL_PARAM_STLDECL(EqualKey,std::equal_to<Value>), <a name="l00201"></a>00201 VCL_DFL_TYPE_PARAM_STLDECL(Alloc,std::allocator<<span class="keywordtype">char</span>> ) > <a name="l00202"></a><a class="code" href="classitk_1_1hash__multiset.html">00202</a> <span class="keyword">class </span><a class="code" href="classitk_1_1hash__multiset.html">hash_multiset</a> <a name="l00203"></a>00203 { <a name="l00204"></a>00204 <span class="keyword">private</span>: <a name="l00205"></a>00205 <span class="keyword">typedef</span> <a class="code" href="classitk_1_1hashtable.html">hashtable<Value, Value, HashFcn, std::identity<Value></a>, <a name="l00206"></a>00206 EqualKey, Alloc> <a class="code" href="classitk_1_1hashtable.html">ht</a>; <a name="l00207"></a>00207 <span class="keyword">typedef</span> <a class="code" href="classitk_1_1hash__multiset.html">hash_multiset<Value, HashFcn, EqualKey, Alloc></a> <span class="keyword">self</span>; <a name="l00208"></a>00208 <span class="keyword">public</span>: <a name="l00209"></a><a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">00209</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#ce7f39999dfd0460fafc792cc0fcf31b">ht::key_type</a> <a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">key_type</a>; <a name="l00210"></a><a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">00210</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#9b4944269bde048047a0379fb26b1f26">ht::value_type</a> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>; <a name="l00211"></a><a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">00211</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#9573613f935976ffd4446f4fa6037d34">ht::hasher</a> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>; <a name="l00212"></a><a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">00212</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#7d43a00a83b7a980ef685ec55aabeccc">ht::key_equal</a> <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>; <a name="l00213"></a>00213 <a name="l00214"></a><a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">00214</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#24390ecc706db752bc17b789feded607">ht::size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a>; <a name="l00215"></a><a class="code" href="classitk_1_1hash__multiset.html#37edb8d05d0f9fab44ccde1a6749a4d1">00215</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#4823f0a7e1138fe9afc54b858ee8f9b9">ht::difference_type</a> <a class="code" href="classitk_1_1hash__multiset.html#37edb8d05d0f9fab44ccde1a6749a4d1">difference_type</a>; <a name="l00216"></a><a class="code" href="classitk_1_1hash__multiset.html#690b3db39fb6b6930c21f9795043d203">00216</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#77fe29fafb247e4d756f5e749e55ba31">ht::const_pointer</a> <a class="code" href="classitk_1_1hash__multiset.html#690b3db39fb6b6930c21f9795043d203">pointer</a>; <a name="l00217"></a><a class="code" href="classitk_1_1hash__multiset.html#e46fb861ea5743e821d59a04ddd7a1d9">00217</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#77fe29fafb247e4d756f5e749e55ba31">ht::const_pointer</a> <a class="code" href="classitk_1_1hash__multiset.html#e46fb861ea5743e821d59a04ddd7a1d9">const_pointer</a>; <a name="l00218"></a><a class="code" href="classitk_1_1hash__multiset.html#d72012a1548b5cbac7ad575b6642dcba">00218</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#79422138a06bd1c6687779e27e236ece">ht::const_reference</a> <a class="code" href="classitk_1_1hash__multiset.html#d72012a1548b5cbac7ad575b6642dcba">reference</a>; <a name="l00219"></a><a class="code" href="classitk_1_1hash__multiset.html#9134d82a015272b206f6a4baaedec75a">00219</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1hashtable.html#79422138a06bd1c6687779e27e236ece">ht::const_reference</a> <a class="code" href="classitk_1_1hash__multiset.html#9134d82a015272b206f6a4baaedec75a">const_reference</a>; <a name="l00220"></a>00220 <a name="l00221"></a><a class="code" href="classitk_1_1hash__multiset.html#9af36ef3c0f0be8eff68942185b37ca0">00221</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structitk_1_1hashtable__const__iterator.html">ht::const_iterator</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a>; <a name="l00222"></a>00222 <span class="comment">// SunPro bug</span> <a name="l00223"></a><a class="code" href="classitk_1_1hash__multiset.html#c62484a892dec0ddf261142cc6f9bdfd">00223</a> <span class="keyword">typedef</span> <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a>; <a name="l00224"></a>00224 <a name="l00225"></a><a class="code" href="classitk_1_1hash__multiset.html#da47dc5f3c8403e8beec990614a1ae96">00225</a> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a> <a class="code" href="classitk_1_1hash__multiset.html#da47dc5f3c8403e8beec990614a1ae96">hash_funct</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1d2c56a89e24be3b4b03bfd6f04793e2">hash_funct</a>(); } <a name="l00226"></a><a class="code" href="classitk_1_1hash__multiset.html#f265334b402cb49c2a53638de1c6db64">00226</a> <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a> <a class="code" href="classitk_1_1hash__multiset.html#f265334b402cb49c2a53638de1c6db64">key_eq</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#3ac1ff41a505f4fc4bd2927bcb7e0ef4">key_eq</a>(); } <a name="l00227"></a>00227 <span class="keyword">private</span>: <a name="l00228"></a>00228 ht rep; <a name="l00229"></a>00229 <a name="l00230"></a>00230 <span class="keyword">public</span>: <a name="l00231"></a><a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">00231</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>() : rep(100, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) {} <a name="l00232"></a><a class="code" href="classitk_1_1hash__multiset.html#865cd4e4daa5197d6dc372e372185719">00232</a> <a class="code" href="classitk_1_1hash__multiset.html#865cd4e4daa5197d6dc372e372185719">hash_multiset</a>(<a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n) : rep(n, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) {} <a name="l00233"></a><a class="code" href="classitk_1_1hash__multiset.html#b1b5af242fed796bb04b1c7276bd3afd">00233</a> <a class="code" href="classitk_1_1hash__multiset.html#b1b5af242fed796bb04b1c7276bd3afd">hash_multiset</a>(<a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf) : rep(n, hf, <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) {} <a name="l00234"></a><a class="code" href="classitk_1_1hash__multiset.html#804d5273dddddf7c72a9e3dead6740b9">00234</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>& eql) <a name="l00235"></a>00235 : rep(n, hf, eql) {} <a name="l00236"></a>00236 <a name="l00237"></a><a class="code" href="classitk_1_1hash__multiset.html#6549ce991a85838de7b5a08c1352ab2d">00237</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* l) <a name="l00238"></a>00238 : rep(100, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00239"></a><a class="code" href="classitk_1_1hash__multiset.html#38fcdc612f7d7d1c5b4905c15dd7087a">00239</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n) <a name="l00240"></a>00240 : rep(n, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00241"></a><a class="code" href="classitk_1_1hash__multiset.html#72dcc22a9c4e09fafb4aff822e538900">00241</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <a name="l00242"></a>00242 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf) <a name="l00243"></a>00243 : rep(n, hf, <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00244"></a><a class="code" href="classitk_1_1hash__multiset.html#3f2466e7b0acc1183441a64dd39ed8ea">00244</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <a name="l00245"></a>00245 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>& eql) <a name="l00246"></a>00246 : rep(n, hf, eql) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00247"></a>00247 <a name="l00248"></a><a class="code" href="classitk_1_1hash__multiset.html#3d088ac2ef05ed42d036ed931d68dd81">00248</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l) <a name="l00249"></a>00249 : rep(100, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00250"></a><a class="code" href="classitk_1_1hash__multiset.html#3b797815157e25a36e7170b969b8cfad">00250</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n) <a name="l00251"></a>00251 : rep(n, <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>(), <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00252"></a><a class="code" href="classitk_1_1hash__multiset.html#106073a5ba2f132190f56a6f804dc918">00252</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <a name="l00253"></a>00253 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf) <a name="l00254"></a>00254 : rep(n, hf, <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>()) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00255"></a><a class="code" href="classitk_1_1hash__multiset.html#9a40055227199f86bfbbfbf961e49749">00255</a> <a class="code" href="classitk_1_1hash__multiset.html#22d2858d05d8a5441a6229506136296e">hash_multiset</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l, <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n, <a name="l00256"></a>00256 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#e431f0060d6ad66b63971688b2a118d9">hasher</a>& hf, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#825fd0051fa47e362bd6cfc645b56f61">key_equal</a>& eql) <a name="l00257"></a>00257 : rep(n, hf, eql) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00258"></a>00258 <a name="l00259"></a>00259 <span class="keyword">public</span>: <a name="l00260"></a><a class="code" href="classitk_1_1hash__multiset.html#006f0dc47707ab20af0f1fbbf843e51c">00260</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#006f0dc47707ab20af0f1fbbf843e51c">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1099e731a42e664826073e0af53072d3">size</a>(); } <a name="l00261"></a><a class="code" href="classitk_1_1hash__multiset.html#fcc96645f530c6487b4fc7bb2e8bec1f">00261</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#fcc96645f530c6487b4fc7bb2e8bec1f">max_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#1eb088b174e2efd1935c67fafb94d8c1">max_size</a>(); } <a name="l00262"></a><a class="code" href="classitk_1_1hash__multiset.html#e9be911df2b20e35f116eed9fa558154">00262</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1hash__multiset.html#e9be911df2b20e35f116eed9fa558154">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#b5ee85ee90fb247a287b91ff93c8a5d0">empty</a>(); } <a name="l00263"></a><a class="code" href="classitk_1_1hash__multiset.html#071d4cba1cc3be53005c26548b41f543">00263</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#071d4cba1cc3be53005c26548b41f543">swap</a>(<span class="keyword">self</span>& hs) { rep.<a class="code" href="classitk_1_1hashtable.html#78e86996d21870444c69be2f971f0e52">swap</a>(hs.rep); } <a name="l00264"></a>00264 <a name="l00265"></a>00265 <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator==ITK_FRIEND_TEMPLATE_FUNCTION_ARGUMENT(<span class="keyword">self</span>)(<span class="keyword">const</span> <span class="keyword">self</span> &, <span class="keyword">const</span> <span class="keyword">self</span> &); <a name="l00266"></a>00266 <a name="l00267"></a><a class="code" href="classitk_1_1hash__multiset.html#8eee1a83c71d5a4b13249ee93bf1f80b">00267</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__multiset.html#8eee1a83c71d5a4b13249ee93bf1f80b">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#58bf22f83b683a429d29c639ba648fb0">begin</a>(); } <a name="l00268"></a><a class="code" href="classitk_1_1hash__multiset.html#c74d5058c07e8a23526aad885bc79e01">00268</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__multiset.html#c74d5058c07e8a23526aad885bc79e01">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#b94a445bec49543c2357c33e99436677">end</a>(); } <a name="l00269"></a>00269 <a name="l00270"></a>00270 <span class="keyword">public</span>: <a name="l00271"></a><a class="code" href="classitk_1_1hash__multiset.html#49e10849e7dd01ff7ae099aa0e3324f0">00271</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__multiset.html#49e10849e7dd01ff7ae099aa0e3324f0">insert</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>& obj) { <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(obj); } <a name="l00272"></a><a class="code" href="classitk_1_1hash__multiset.html#205b4b4e5ee3a6c63b2317226dda677b">00272</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#205b4b4e5ee3a6c63b2317226dda677b">insert</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* f, <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>* l) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f,l); } <a name="l00273"></a><a class="code" href="classitk_1_1hash__multiset.html#fe09352316dc4f44e4fcbfb3a920f937">00273</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#fe09352316dc4f44e4fcbfb3a920f937">insert</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">const_iterator</a> l) { rep.<a class="code" href="classitk_1_1hashtable.html#d72fdc55cb8a88a73e4afad5a24a1fe8">insert_equal</a>(f, l); } <a name="l00274"></a><a class="code" href="classitk_1_1hash__multiset.html#541bf43426743a04262ec96fe3d45d39">00274</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__multiset.html#541bf43426743a04262ec96fe3d45d39">insert_noresize</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#cd34a5fc4ef45832cdcb0191365bba54">value_type</a>& obj) <a name="l00275"></a>00275 { <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#5507dd5bd99ca558794ed3babcbacafb">insert_equal_noresize</a>(obj); } <a name="l00276"></a>00276 <a name="l00277"></a><a class="code" href="classitk_1_1hash__multiset.html#5f6f33f5ad19f5f09ad58f179f5e6a6b">00277</a> <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> <a class="code" href="classitk_1_1hash__multiset.html#5f6f33f5ad19f5f09ad58f179f5e6a6b">find</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">key_type</a>& key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#de9a7a756cb3ab27dd7d9797b9a3958c">find</a>(key); } <a name="l00278"></a>00278 <a name="l00279"></a><a class="code" href="classitk_1_1hash__multiset.html#d974fb93591f35e50ed2a7b703b9e681">00279</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#d974fb93591f35e50ed2a7b703b9e681">count</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">key_type</a>& key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#bfce65fbba7b7aa67653925aebe2dac4">count</a>(key); } <a name="l00280"></a>00280 <a name="l00281"></a><a class="code" href="classitk_1_1hash__multiset.html#27b3fb863843a641c0cd6767d2a6336b">00281</a> std::pair<iterator, iterator> <a class="code" href="classitk_1_1hash__multiset.html#27b3fb863843a641c0cd6767d2a6336b">equal_range</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">key_type</a>& key)<span class="keyword"> const</span> <a name="l00282"></a>00282 <span class="keyword"> </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#9ab88d24837423d2913890c7e0d0596c">equal_range</a>(key); } <a name="l00283"></a>00283 <a name="l00284"></a><a class="code" href="classitk_1_1hash__multiset.html#4a79abccd67f21a52db596475ddf8e0b">00284</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#4a79abccd67f21a52db596475ddf8e0b">erase</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html#0924fdc7c8db16ddbbde71e4096981a6">key_type</a>& key) {<span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(key); } <a name="l00285"></a><a class="code" href="classitk_1_1hash__multiset.html#f02368355be075f2df329bebd2a116f0">00285</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#f02368355be075f2df329bebd2a116f0">erase</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> it) { rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(it); } <a name="l00286"></a><a class="code" href="classitk_1_1hash__multiset.html#fc739ae1bda4ab918889185b4b502066">00286</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#fc739ae1bda4ab918889185b4b502066">erase</a>(<a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> f, <a class="code" href="structitk_1_1hashtable__const__iterator.html">iterator</a> l) { rep.<a class="code" href="classitk_1_1hashtable.html#2877156f7bd16ed9490819eeb78314eb">erase</a>(f, l); } <a name="l00287"></a><a class="code" href="classitk_1_1hash__multiset.html#251d6ac75f184914dd30cded3c394c1e">00287</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#251d6ac75f184914dd30cded3c394c1e">clear</a>() { rep.<a class="code" href="classitk_1_1hashtable.html#8277af2e2c3a55380bb0e6fee17942ca">clear</a>(); } <a name="l00288"></a>00288 <a name="l00289"></a>00289 <span class="keyword">public</span>: <a name="l00290"></a><a class="code" href="classitk_1_1hash__multiset.html#7d0be1f570fe24d5c60526d465befdab">00290</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1hash__multiset.html#7d0be1f570fe24d5c60526d465befdab">resize</a>(<a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> hint) { rep.<a class="code" href="classitk_1_1hashtable.html#f40249391498b87b6ee4765a034d3ebe">resize</a>(hint); } <a name="l00291"></a><a class="code" href="classitk_1_1hash__multiset.html#1485a86b29840c0543cc37d87a68fc1a">00291</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#1485a86b29840c0543cc37d87a68fc1a">bucket_count</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#05913daab175ec271753c0134762c7c7">bucket_count</a>(); } <a name="l00292"></a><a class="code" href="classitk_1_1hash__multiset.html#3b63b184bdc3367dfa9d99a61a92bf47">00292</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#3b63b184bdc3367dfa9d99a61a92bf47">max_bucket_count</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#573ec83655435defacce1c4c39637e18">max_bucket_count</a>(); } <a name="l00293"></a><a class="code" href="classitk_1_1hash__multiset.html#7595a09eabfe452d118115da2315c4e2">00293</a> <a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> <a class="code" href="classitk_1_1hash__multiset.html#7595a09eabfe452d118115da2315c4e2">elems_in_bucket</a>(<a class="code" href="classitk_1_1hash__multiset.html#8a96efc17945ae98dd85f4bd81d6ac87">size_type</a> n)<span class="keyword"> const</span> <a name="l00294"></a>00294 <span class="keyword"> </span>{ <span class="keywordflow">return</span> rep.<a class="code" href="classitk_1_1hashtable.html#57b0c1ab29503a23eb0d38cc4447e67b">elems_in_bucket</a>(n); } <a name="l00295"></a>00295 }; <a name="l00296"></a>00296 <a name="l00297"></a>00297 <a name="l00300"></a>00300 <span class="keyword">template</span> <<span class="keyword">class</span> Value, <span class="keyword">class</span> HashFcn, <span class="keyword">class</span> EqualKey, <span class="keyword">class</span> Alloc> <a name="l00301"></a><a class="code" href="namespaceitk.html#7c1ea3d392f446a59422cb90908bc994">00301</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceitk.html#e1c1b02c301187419478f5126c789a01">operator==</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html" title="Replacement for STL hash set because some systems do not support it, or support it...">hash_set<Value, HashFcn, EqualKey, Alloc></a>& hs1, <a name="l00302"></a>00302 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__set.html" title="Replacement for STL hash set because some systems do not support it, or support it...">hash_set<Value, HashFcn, EqualKey, Alloc></a>& hs2) <a name="l00303"></a>00303 { <a name="l00304"></a>00304 <span class="keywordflow">return</span> hs1.rep == hs2.rep; <a name="l00305"></a>00305 } <a name="l00306"></a>00306 <a name="l00309"></a>00309 <span class="keyword">template</span> <<span class="keyword">class</span> Value, <span class="keyword">class</span> HashFcn, <span class="keyword">class</span> EqualKey, <span class="keyword">class</span> Alloc> <a name="l00310"></a><a class="code" href="namespaceitk.html#fb5cd22b964eb69365ea5006827349b9">00310</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceitk.html#e1c1b02c301187419478f5126c789a01">operator==</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html">hash_multiset<Value, HashFcn, EqualKey, Alloc></a>& hs1, <a name="l00311"></a>00311 <span class="keyword">const</span> <a class="code" href="classitk_1_1hash__multiset.html">hash_multiset<Value, HashFcn, EqualKey, Alloc></a>& hs2) <a name="l00312"></a>00312 { <a name="l00313"></a>00313 <span class="keywordflow">return</span> hs1.rep == hs2.rep; <a name="l00314"></a>00314 } <a name="l00315"></a>00315 <a name="l00316"></a>00316 <span class="preprocessor"># if defined (__STL_CLASS_PARTIAL_SPECIALIZATION )</span> <a name="l00317"></a>00317 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">class</span> Value, <span class="keyword">class</span> HashFcn, <span class="keyword">class</span> EqualKey, <span class="keyword">class</span> Alloc> <a name="l00318"></a>00318 <span class="keyword">inline</span> <span class="keywordtype">void</span> swap(hash_multiset<Value, HashFcn, EqualKey, Alloc>& a, <a name="l00319"></a>00319 hash_multiset<Value, HashFcn, EqualKey, Alloc>& b) { a.swap(b); } <a name="l00320"></a>00320 <span class="keyword">template</span> <<span class="keyword">class</span> Value, <span class="keyword">class</span> HashFcn, <span class="keyword">class</span> EqualKey, <span class="keyword">class</span> Alloc> <a name="l00321"></a>00321 <span class="keyword">inline</span> <span class="keywordtype">void</span> swap(hash_set<Value, HashFcn, EqualKey, Alloc>& a, <a name="l00322"></a>00322 hash_set<Value, HashFcn, EqualKey, Alloc>& b) { a.swap(b); } <a name="l00323"></a>00323 <span class="preprocessor"># endif</span> <a name="l00324"></a>00324 <span class="preprocessor"></span> <a name="l00325"></a>00325 } <span class="comment">// end namespace itk</span> <a name="l00326"></a>00326 <a name="l00327"></a>00327 <span class="preprocessor">#endif</span> <a name="l00328"></a>00328 <span class="preprocessor"></span><span class="preprocessor">#endif // itk_emulation_hash_set_h</span> <a name="l00329"></a>00329 <span class="preprocessor"></span> </pre></div></div> <hr><address><small> Generated at Thu May 7 22:04:10 2009 for ITK by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53> </a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>