<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>concurrent_unordered_map.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  </ul></div>
<h1>concurrent_unordered_map.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2010 Intel Corporation.  All Rights Reserved.</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment">    The source code contained or described herein and all documents related</span>
<a name="l00005"></a>00005 <span class="comment">    to the source code ("Material") are owned by Intel Corporation or its</span>
<a name="l00006"></a>00006 <span class="comment">    suppliers or licensors.  Title to the Material remains with Intel</span>
<a name="l00007"></a>00007 <span class="comment">    Corporation or its suppliers and licensors.  The Material is protected</span>
<a name="l00008"></a>00008 <span class="comment">    by worldwide copyright laws and treaty provisions.  No part of the</span>
<a name="l00009"></a>00009 <span class="comment">    Material may be used, copied, reproduced, modified, published, uploaded,</span>
<a name="l00010"></a>00010 <span class="comment">    posted, transmitted, distributed, or disclosed in any way without</span>
<a name="l00011"></a>00011 <span class="comment">    Intel's prior express written permission.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">    No license under any patent, copyright, trade secret or other</span>
<a name="l00014"></a>00014 <span class="comment">    intellectual property right is granted to or conferred upon you by</span>
<a name="l00015"></a>00015 <span class="comment">    disclosure or delivery of the Materials, either expressly, by</span>
<a name="l00016"></a>00016 <span class="comment">    implication, inducement, estoppel or otherwise.  Any license under such</span>
<a name="l00017"></a>00017 <span class="comment">    intellectual property rights must be express and approved by Intel in</span>
<a name="l00018"></a>00018 <span class="comment">    writing.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="comment">/* Container implementations in this header are based on PPL implementations</span>
<a name="l00022"></a>00022 <span class="comment">   provided by Microsoft. */</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef __TBB_concurrent_unordered_map_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_concurrent_unordered_map_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "_concurrent_unordered_internal.h"</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="keyword">namespace </span>tbb
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="comment">// Template class for hash compare</span>
<a name="l00033"></a>00033 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Key&gt;
<a name="l00034"></a>00034 <span class="keyword">class </span>tbb_hash
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00037"></a>00037     tbb_hash() {}
<a name="l00038"></a>00038 
<a name="l00039"></a>00039     size_t operator()(<span class="keyword">const</span> Key&amp; key)<span class="keyword"> const</span>
<a name="l00040"></a>00040 <span class="keyword">    </span>{
<a name="l00041"></a>00041         <span class="keywordflow">return</span> tbb_hasher(key);
<a name="l00042"></a>00042     }
<a name="l00043"></a>00043 };
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 <span class="keyword">namespace </span>interface5 {
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 <span class="comment">// Template class for hash map traits</span>
<a name="l00048"></a>00048 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> T, <span class="keyword">typename</span> Hash_compare, <span class="keyword">typename</span> Allocator, <span class="keywordtype">bool</span> Allow_multimapping&gt;
<a name="l00049"></a>00049 <span class="keyword">class </span>concurrent_unordered_map_traits
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">protected</span>:
<a name="l00052"></a>00052     <span class="keyword">typedef</span> std::pair&lt;const Key, T&gt; value_type;
<a name="l00053"></a>00053     <span class="keyword">typedef</span> Key key_type;
<a name="l00054"></a>00054     <span class="keyword">typedef</span> Hash_compare hash_compare;
<a name="l00055"></a>00055     <span class="keyword">typedef</span> <span class="keyword">typename</span> Allocator::template rebind&lt;value_type&gt;::other allocator_type;
<a name="l00056"></a>00056     <span class="keyword">enum</span> { allow_multimapping = Allow_multimapping };
<a name="l00057"></a>00057 
<a name="l00058"></a>00058     concurrent_unordered_map_traits() : my_hash_compare() {}
<a name="l00059"></a>00059     concurrent_unordered_map_traits(<span class="keyword">const</span> hash_compare&amp; hc) : my_hash_compare(hc) {}
<a name="l00060"></a>00060 
<a name="l00061"></a>00061     <span class="keyword">class </span>value_compare : <span class="keyword">public</span> std::binary_function&lt;value_type, value_type, bool&gt;
<a name="l00062"></a>00062     {
<a name="l00063"></a>00063         <span class="keyword">friend</span> <span class="keyword">class </span>concurrent_unordered_map_traits&lt;Key, T, Hash_compare, Allocator, Allow_multimapping&gt;;
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keyword">public</span>:
<a name="l00066"></a>00066         <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> value_type&amp; left, <span class="keyword">const</span> value_type&amp; right)<span class="keyword"> const</span>
<a name="l00067"></a>00067 <span class="keyword">        </span>{
<a name="l00068"></a>00068             <span class="keywordflow">return</span> (my_hash_compare(left.first, right.first));
<a name="l00069"></a>00069         }
<a name="l00070"></a>00070 
<a name="l00071"></a>00071         value_compare(<span class="keyword">const</span> hash_compare&amp; comparator) : my_hash_compare(comparator) {}
<a name="l00072"></a>00072 
<a name="l00073"></a>00073     <span class="keyword">protected</span>:
<a name="l00074"></a>00074         hash_compare my_hash_compare;    <span class="comment">// the comparator predicate for keys</span>
<a name="l00075"></a>00075     };
<a name="l00076"></a>00076 
<a name="l00077"></a>00077     <span class="keyword">template</span>&lt;<span class="keyword">class</span> Type1, <span class="keyword">class</span> Type2&gt;
<a name="l00078"></a>00078     <span class="keyword">static</span> <span class="keyword">const</span> Key&amp; get_key(<span class="keyword">const</span> std::pair&lt;Type1, Type2&gt;&amp; value) {
<a name="l00079"></a>00079         <span class="keywordflow">return</span> (value.first);
<a name="l00080"></a>00080     }
<a name="l00081"></a>00081 
<a name="l00082"></a>00082     hash_compare my_hash_compare; <span class="comment">// the comparator predicate for keys</span>
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084 
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> T, <span class="keyword">typename</span> Hasher = tbb_hash&lt;Key&gt;, <span class="keyword">typename</span> Key_equality = std::equal_to&lt;Key&gt;, <span class="keyword">typename</span> Allocator = tbb::tbb_allocator&lt;std::pair&lt;const Key, T&gt; &gt; &gt;
<a name="l00086"></a>00086 <span class="keyword">class </span>concurrent_unordered_map : <span class="keyword">public</span> internal::concurrent_unordered_base&lt; concurrent_unordered_map_traits&lt;Key, T, internal::hash_compare&lt;Key, Hasher, Key_equality&gt;, Allocator, false&gt; &gt;
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088     <span class="comment">// Base type definitions</span>
<a name="l00089"></a>00089     <span class="keyword">typedef</span> internal::hash_compare&lt;Key, Hasher, Key_equality&gt; hash_compare;
<a name="l00090"></a>00090     <span class="keyword">typedef</span> internal::concurrent_unordered_base&lt; concurrent_unordered_map_traits&lt;Key, T, hash_compare, Allocator, false&gt; &gt; base_type;
<a name="l00091"></a>00091     <span class="keyword">typedef</span> concurrent_unordered_map_traits&lt;Key, T, internal::hash_compare&lt;Key, Hasher, Key_equality&gt;, Allocator, <span class="keyword">false</span>&gt; traits_type;
<a name="l00092"></a>00092     <span class="keyword">using</span> traits_type::my_hash_compare;
<a name="l00093"></a>00093 <span class="preprocessor">#if __TBB_EXTRA_DEBUG</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="keyword">public</span>:
<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span>    <span class="keyword">using</span> traits_type::allow_multimapping;
<a name="l00097"></a>00097 <span class="keyword">public</span>:
<a name="l00098"></a>00098     <span class="keyword">using</span> base_type::end;
<a name="l00099"></a>00099     <span class="keyword">using</span> base_type::find;
<a name="l00100"></a>00100     <span class="keyword">using</span> base_type::insert;
<a name="l00101"></a>00101 
<a name="l00102"></a>00102     <span class="comment">// Type definitions</span>
<a name="l00103"></a>00103     <span class="keyword">typedef</span> Key key_type;
<a name="l00104"></a>00104     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::value_type value_type;
<a name="l00105"></a>00105     <span class="keyword">typedef</span> T mapped_type;
<a name="l00106"></a>00106     <span class="keyword">typedef</span> Hasher hasher;
<a name="l00107"></a>00107     <span class="keyword">typedef</span> Key_equality key_equal;
<a name="l00108"></a>00108     <span class="keyword">typedef</span> hash_compare key_compare;
<a name="l00109"></a>00109 
<a name="l00110"></a>00110     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::allocator_type allocator_type;
<a name="l00111"></a>00111     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::pointer pointer;
<a name="l00112"></a>00112     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::const_pointer const_pointer;
<a name="l00113"></a>00113     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::reference reference;
<a name="l00114"></a>00114     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::const_reference const_reference;
<a name="l00115"></a>00115 
<a name="l00116"></a>00116     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::size_type size_type;
<a name="l00117"></a>00117     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::difference_type difference_type;
<a name="l00118"></a>00118 
<a name="l00119"></a>00119     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::iterator iterator;
<a name="l00120"></a>00120     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::const_iterator const_iterator;
<a name="l00121"></a>00121     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::iterator local_iterator;
<a name="l00122"></a>00122     <span class="keyword">typedef</span> <span class="keyword">typename</span> base_type::const_iterator const_local_iterator;
<a name="l00123"></a>00123 
<a name="l00124"></a>00124     <span class="comment">// Construction/destruction/copying</span>
<a name="l00125"></a>00125     <span class="keyword">explicit</span> concurrent_unordered_map(size_type n_of_buckets = 8, <span class="keyword">const</span> hasher&amp; a_hasher = hasher(),
<a name="l00126"></a>00126         <span class="keyword">const</span> key_equal&amp; a_keyeq = key_equal(), <span class="keyword">const</span> allocator_type&amp; a = allocator_type())
<a name="l00127"></a>00127         : base_type(n_of_buckets, key_compare(a_hasher, a_keyeq), a)
<a name="l00128"></a>00128     {
<a name="l00129"></a>00129     }
<a name="l00130"></a>00130 
<a name="l00131"></a>00131     concurrent_unordered_map(<span class="keyword">const</span> Allocator&amp; a) : base_type(8, key_compare(), a)
<a name="l00132"></a>00132     {
<a name="l00133"></a>00133     }
<a name="l00134"></a>00134 
<a name="l00135"></a>00135     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Iterator&gt;
<a name="l00136"></a>00136     concurrent_unordered_map(Iterator first, Iterator last, size_type n_of_buckets = 8, <span class="keyword">const</span> hasher&amp; a_hasher = hasher(),
<a name="l00137"></a>00137         <span class="keyword">const</span> key_equal&amp; a_keyeq = key_equal(), <span class="keyword">const</span> allocator_type&amp; a = allocator_type())
<a name="l00138"></a>00138         : base_type(n_of_buckets, key_compare(a_hasher, a_keyeq), a)
<a name="l00139"></a>00139     {
<a name="l00140"></a>00140         <span class="keywordflow">for</span> (; first != last; ++first)
<a name="l00141"></a>00141             base_type::insert(*first);
<a name="l00142"></a>00142     }
<a name="l00143"></a>00143 
<a name="l00144"></a>00144     concurrent_unordered_map(<span class="keyword">const</span> concurrent_unordered_map&amp; table) : base_type(table)
<a name="l00145"></a>00145     {
<a name="l00146"></a>00146     }
<a name="l00147"></a>00147 
<a name="l00148"></a>00148     concurrent_unordered_map(<span class="keyword">const</span> concurrent_unordered_map&amp; table, <span class="keyword">const</span> Allocator&amp; a)
<a name="l00149"></a>00149         : base_type(table, a)
<a name="l00150"></a>00150     {
<a name="l00151"></a>00151     }
<a name="l00152"></a>00152 
<a name="l00153"></a>00153     concurrent_unordered_map&amp; operator=(<span class="keyword">const</span> concurrent_unordered_map&amp; table)
<a name="l00154"></a>00154     {
<a name="l00155"></a>00155         base_type::operator=(table);
<a name="l00156"></a>00156         <span class="keywordflow">return</span> (*<span class="keyword">this</span>);
<a name="l00157"></a>00157     }
<a name="l00158"></a>00158 
<a name="l00159"></a>00159     iterator unsafe_erase(const_iterator where)
<a name="l00160"></a>00160     {
<a name="l00161"></a>00161         <span class="keywordflow">return</span> base_type::unsafe_erase(where);
<a name="l00162"></a>00162     }
<a name="l00163"></a>00163 
<a name="l00164"></a>00164     size_type unsafe_erase(<span class="keyword">const</span> key_type&amp; key)
<a name="l00165"></a>00165     {
<a name="l00166"></a>00166         <span class="keywordflow">return</span> base_type::unsafe_erase(key);
<a name="l00167"></a>00167     }
<a name="l00168"></a>00168 
<a name="l00169"></a>00169     iterator unsafe_erase(const_iterator first, const_iterator last)
<a name="l00170"></a>00170     {
<a name="l00171"></a>00171         <span class="keywordflow">return</span> base_type::unsafe_erase(first, last);
<a name="l00172"></a>00172     }
<a name="l00173"></a>00173 
<a name="l00174"></a>00174     <span class="keywordtype">void</span> swap(concurrent_unordered_map&amp; table)
<a name="l00175"></a>00175     {
<a name="l00176"></a>00176         base_type::swap(table);
<a name="l00177"></a>00177     }
<a name="l00178"></a>00178 
<a name="l00179"></a>00179     <span class="comment">// Observers</span>
<a name="l00180"></a>00180     hasher hash_function()<span class="keyword"> const</span>
<a name="l00181"></a>00181 <span class="keyword">    </span>{
<a name="l00182"></a>00182         <span class="keywordflow">return</span> my_hash_compare.my_hash_object;
<a name="l00183"></a>00183     }
<a name="l00184"></a>00184 
<a name="l00185"></a>00185     key_equal key_eq()<span class="keyword"> const</span>
<a name="l00186"></a>00186 <span class="keyword">    </span>{
<a name="l00187"></a>00187         <span class="keywordflow">return</span> my_hash_compare.my_key_compare_object;
<a name="l00188"></a>00188     }
<a name="l00189"></a>00189 
<a name="l00190"></a>00190     mapped_type&amp; operator[](<span class="keyword">const</span> key_type&amp; key)
<a name="l00191"></a>00191     {
<a name="l00192"></a>00192         iterator where = find(key);
<a name="l00193"></a>00193 
<a name="l00194"></a>00194         <span class="keywordflow">if</span> (where == end())
<a name="l00195"></a>00195         {
<a name="l00196"></a>00196             where = insert(std::pair&lt;key_type, mapped_type&gt;(key, mapped_type())).first;
<a name="l00197"></a>00197         }
<a name="l00198"></a>00198 
<a name="l00199"></a>00199         <span class="keywordflow">return</span> ((*where).second);
<a name="l00200"></a>00200     }
<a name="l00201"></a>00201 
<a name="l00202"></a>00202     mapped_type&amp; at(<span class="keyword">const</span> key_type&amp; key)
<a name="l00203"></a>00203     {
<a name="l00204"></a>00204         iterator where = find(key);
<a name="l00205"></a>00205 
<a name="l00206"></a>00206         <span class="keywordflow">if</span> (where == end())
<a name="l00207"></a>00207         {
<a name="l00208"></a>00208             tbb::internal::throw_exception(tbb::internal::eid_invalid_key);
<a name="l00209"></a>00209         }
<a name="l00210"></a>00210 
<a name="l00211"></a>00211         <span class="keywordflow">return</span> ((*where).second);
<a name="l00212"></a>00212     }
<a name="l00213"></a>00213 
<a name="l00214"></a>00214     <span class="keyword">const</span> mapped_type&amp; at(<span class="keyword">const</span> key_type&amp; key)<span class="keyword"> const</span>
<a name="l00215"></a>00215 <span class="keyword">    </span>{
<a name="l00216"></a>00216         const_iterator where = find(key);
<a name="l00217"></a>00217 
<a name="l00218"></a>00218         <span class="keywordflow">if</span> (where == end())
<a name="l00219"></a>00219         {
<a name="l00220"></a>00220             tbb::internal::throw_exception(tbb::internal::eid_invalid_key);
<a name="l00221"></a>00221         }
<a name="l00222"></a>00222 
<a name="l00223"></a>00223         <span class="keywordflow">return</span> ((*where).second);
<a name="l00224"></a>00224     }
<a name="l00225"></a>00225 };
<a name="l00226"></a>00226 
<a name="l00227"></a>00227 } <span class="comment">// namespace interface5</span>
<a name="l00228"></a>00228 
<a name="l00229"></a>00229 <span class="keyword">using</span> interface5::concurrent_unordered_map;
<a name="l00230"></a>00230 
<a name="l00231"></a>00231 } <span class="comment">// namespace tbb</span>
<a name="l00232"></a>00232 
<a name="l00233"></a>00233 <span class="preprocessor">#endif// __TBB_concurrent_unordered_map_H</span>
</pre></div><hr>
<p></p>
Copyright &copy; 2005-2010 Intel Corporation.  All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.
