<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libstdc++: std::unordered_set< _Value, _Hash, _Pred, _Alloc > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libstdc++</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00736.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">std::unordered_set< _Value, _Hash, _Pred, _Alloc > Class Template Reference<div class="ingroups"><a class="el" href="a01161.html">Unordered Associative</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="std::unordered_set" --><!-- doxytag: inherits="std::__unordered_set" --> <p>A standard container composed of unique keys (containing at most one of each key value) in which the elements' keys are the elements themselves. <a href="a00736.html#details">More...</a></p> <p>Inherits std::__unordered_set< _Value, _Hash, _Pred, _Alloc, __cache_hash_code >.</p> <p><a href="a02429.html">List of all members.</a></p> <h2><a name="pub-types"></a> Public Types</h2> <ul> <li><a class="anchor" id="af5ae5a563486b1ee56626c97a498025b"></a><!-- doxytag: member="std::unordered_set::allocator_type" ref="af5ae5a563486b1ee56626c97a498025b" args="" --> typedef _Base::allocator_type <b>allocator_type</b> <li><a class="anchor" id="a91493772b0fdc9667a3329435f99cf21"></a><!-- doxytag: member="std::unordered_set::const_iterator" ref="a91493772b0fdc9667a3329435f99cf21" args="" --> typedef <br class="typebreak"/> __detail::_Hashtable_const_iterator<br class="typebreak"/> < value_type, <br class="typebreak"/> __constant_iterators, <br class="typebreak"/> __cache_hash_code > <b>const_iterator</b> <li><a class="anchor" id="aeff10c03fb169df70e311ae6819e0954"></a><!-- doxytag: member="std::unordered_set::const_local_iterator" ref="aeff10c03fb169df70e311ae6819e0954" args="" --> typedef <br class="typebreak"/> __detail::_Node_const_iterator<br class="typebreak"/> < value_type, <br class="typebreak"/> __constant_iterators, <br class="typebreak"/> __cache_hash_code > <b>const_local_iterator</b> <li><a class="anchor" id="a7fa2ac64ac02fdb47f2cc94dd6611998"></a><!-- doxytag: member="std::unordered_set::const_pointer" ref="a7fa2ac64ac02fdb47f2cc94dd6611998" args="" --> typedef _Allocator::const_pointer <b>const_pointer</b> <li><a class="anchor" id="a594b8099314b8e55af39310aba792f2e"></a><!-- doxytag: member="std::unordered_set::const_reference" ref="a594b8099314b8e55af39310aba792f2e" args="" --> typedef _Allocator::const_reference <b>const_reference</b> <li><a class="anchor" id="af43913a4ced63796176f63e24a51b90e"></a><!-- doxytag: member="std::unordered_set::difference_type" ref="af43913a4ced63796176f63e24a51b90e" args="" --> typedef std::ptrdiff_t <b>difference_type</b> <li><a class="anchor" id="a26fe842306ab27449daa2994b98dc3c8"></a><!-- doxytag: member="std::unordered_set::hasher" ref="a26fe842306ab27449daa2994b98dc3c8" args="" --> typedef _Base::hasher <b>hasher</b> <li><a class="anchor" id="a1475f1bab9e8543f07ff68835dff97dc"></a><!-- doxytag: member="std::unordered_set::iterator" ref="a1475f1bab9e8543f07ff68835dff97dc" args="" --> typedef <br class="typebreak"/> __detail::_Hashtable_iterator<br class="typebreak"/> < value_type, <br class="typebreak"/> __constant_iterators, <br class="typebreak"/> __cache_hash_code > <b>iterator</b> <li><a class="anchor" id="a3de757e451ddca600e3e6b363f2778e3"></a><!-- doxytag: member="std::unordered_set::key_equal" ref="a3de757e451ddca600e3e6b363f2778e3" args="" --> typedef _Base::key_equal <b>key_equal</b> <li><a class="anchor" id="a8580a405745be7a6465e2914ba57dca7"></a><!-- doxytag: member="std::unordered_set::key_type" ref="a8580a405745be7a6465e2914ba57dca7" args="" --> typedef _Key <b>key_type</b> <li><a class="anchor" id="a07349526410d7b34a5a8c72c97441801"></a><!-- doxytag: member="std::unordered_set::local_iterator" ref="a07349526410d7b34a5a8c72c97441801" args="" --> typedef <br class="typebreak"/> __detail::_Node_iterator<br class="typebreak"/> < value_type, <br class="typebreak"/> __constant_iterators, <br class="typebreak"/> __cache_hash_code > <b>local_iterator</b> <li><a class="anchor" id="a31beebb3548714a17cbe6f2ab004bd14"></a><!-- doxytag: member="std::unordered_set::pointer" ref="a31beebb3548714a17cbe6f2ab004bd14" args="" --> typedef _Allocator::pointer <b>pointer</b> <li><a class="anchor" id="a9983d690c39fcc09ef300b4889c95496"></a><!-- doxytag: member="std::unordered_set::reference" ref="a9983d690c39fcc09ef300b4889c95496" args="" --> typedef _Allocator::reference <b>reference</b> <li><a class="anchor" id="a0d9fbf7c6426936f63941ab21d279853"></a><!-- doxytag: member="std::unordered_set::size_type" ref="a0d9fbf7c6426936f63941ab21d279853" args="" --> typedef _Base::size_type <b>size_type</b> <li><a class="anchor" id="a5c098cf75b3d1fcbd988a2da5aa9daae"></a><!-- doxytag: member="std::unordered_set::value_type" ref="a5c098cf75b3d1fcbd988a2da5aa9daae" args="" --> typedef _Base::value_type <b>value_type</b> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="anchor" id="a89b12ee720d6bef58e17468b3ac38cdb"></a><!-- doxytag: member="std::unordered_set::unordered_set" ref="a89b12ee720d6bef58e17468b3ac38cdb" args="(size_type __n=10, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())" --> <b>unordered_set</b> (size_type __n=10, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type()) <li><a class="anchor" id="a2f6058978ed515895b3067725eddf767"></a><!-- doxytag: member="std::unordered_set::unordered_set" ref="a2f6058978ed515895b3067725eddf767" args="(_InputIterator __f, _InputIterator __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())" --> template<typename _InputIterator > <b>unordered_set</b> (_InputIterator __f, _InputIterator __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type()) <li><a class="anchor" id="a060e030a56e63250f388344e5888702a"></a><!-- doxytag: member="std::unordered_set::unordered_set" ref="a060e030a56e63250f388344e5888702a" args="(initializer_list< value_type > __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())" --> <b>unordered_set</b> (<a class="el" href="a00524.html">initializer_list</a>< value_type > __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type()) <li><a class="anchor" id="a27111fd7e01fc06a308eb85565ddbde3"></a><!-- doxytag: member="std::unordered_set::__rehash_policy" ref="a27111fd7e01fc06a308eb85565ddbde3" args="() const " --> const _RehashPolicy & <b>__rehash_policy</b> () const <li><a class="anchor" id="a71af5cdb83b4455d57faf1e3dc3bedb1"></a><!-- doxytag: member="std::unordered_set::__rehash_policy" ref="a71af5cdb83b4455d57faf1e3dc3bedb1" args="(const _RehashPolicy &)" --> void <b>__rehash_policy</b> (const _RehashPolicy &) <li><a class="anchor" id="aa40c38db904c301b0c76ab58dc4f6674"></a><!-- doxytag: member="std::unordered_set::begin" ref="aa40c38db904c301b0c76ab58dc4f6674" args="(size_type __n)" --> local_iterator <b>begin</b> (size_type __n) <li><a class="anchor" id="a057d410f0441ed3507cee792b34ea70f"></a><!-- doxytag: member="std::unordered_set::begin" ref="a057d410f0441ed3507cee792b34ea70f" args="(size_type __n) const " --> const_local_iterator <b>begin</b> (size_type __n) const <li><a class="anchor" id="acb9dd8e6545d03e5962a14d64abaed58"></a><!-- doxytag: member="std::unordered_set::begin" ref="acb9dd8e6545d03e5962a14d64abaed58" args="()" --> iterator <b>begin</b> () <li><a class="anchor" id="ad18b02ea55485bf18e72b6aadc4e1b8f"></a><!-- doxytag: member="std::unordered_set::begin" ref="ad18b02ea55485bf18e72b6aadc4e1b8f" args="() const " --> const_iterator <b>begin</b> () const <li><a class="anchor" id="a0c0e9ef5c74ea0872d7119c08270d6db"></a><!-- doxytag: member="std::unordered_set::bucket" ref="a0c0e9ef5c74ea0872d7119c08270d6db" args="(const key_type &__k) const " --> size_type <b>bucket</b> (const key_type &__k) const <li><a class="anchor" id="aafa5d61086510532251ffb4dbfc39faf"></a><!-- doxytag: member="std::unordered_set::bucket_count" ref="aafa5d61086510532251ffb4dbfc39faf" args="() const " --> size_type <b>bucket_count</b> () const <li><a class="anchor" id="ad7783eb0509e3ed42a03880677c974ab"></a><!-- doxytag: member="std::unordered_set::bucket_size" ref="ad7783eb0509e3ed42a03880677c974ab" args="(size_type __n) const " --> size_type <b>bucket_size</b> (size_type __n) const <li><a class="anchor" id="a316d0f31750f397a5017cdb37966e862"></a><!-- doxytag: member="std::unordered_set::cbegin" ref="a316d0f31750f397a5017cdb37966e862" args="() const " --> const_iterator <b>cbegin</b> () const <li><a class="anchor" id="adbd8de2dcf864f9b229bfa8382f302b6"></a><!-- doxytag: member="std::unordered_set::cbegin" ref="adbd8de2dcf864f9b229bfa8382f302b6" args="(size_type __n) const " --> const_local_iterator <b>cbegin</b> (size_type __n) const <li><a class="anchor" id="a914519b6ca6e85143bbcce2bbbdd7c6d"></a><!-- doxytag: member="std::unordered_set::cend" ref="a914519b6ca6e85143bbcce2bbbdd7c6d" args="() const " --> const_iterator <b>cend</b> () const <li><a class="anchor" id="ac1c5081353bdd1d7488f8dfe22f8562c"></a><!-- doxytag: member="std::unordered_set::cend" ref="ac1c5081353bdd1d7488f8dfe22f8562c" args="(size_type) const " --> const_local_iterator <b>cend</b> (size_type) const <li><a class="anchor" id="a4b813b0557ff8a70a677ec4293e0807a"></a><!-- doxytag: member="std::unordered_set::clear" ref="a4b813b0557ff8a70a677ec4293e0807a" args="()" --> void <b>clear</b> () <li><a class="anchor" id="af462ef7ba1193c82f293fda25632b9d5"></a><!-- doxytag: member="std::unordered_set::count" ref="af462ef7ba1193c82f293fda25632b9d5" args="(const key_type &__k) const " --> size_type <b>count</b> (const key_type &__k) const <li><a class="anchor" id="aa82a8b02d411b17ec6f94ee389c715c7"></a><!-- doxytag: member="std::unordered_set::empty" ref="aa82a8b02d411b17ec6f94ee389c715c7" args="() const " --> bool <b>empty</b> () const <li><a class="anchor" id="a2c87a58df1dc5fa3110acdb340dffdc4"></a><!-- doxytag: member="std::unordered_set::end" ref="a2c87a58df1dc5fa3110acdb340dffdc4" args="()" --> iterator <b>end</b> () <li><a class="anchor" id="a7bf119ff9e71da9784fd68b62db46617"></a><!-- doxytag: member="std::unordered_set::end" ref="a7bf119ff9e71da9784fd68b62db46617" args="(size_type)" --> local_iterator <b>end</b> (size_type) <li><a class="anchor" id="abcb367856512f86cea899ad0a8bb6091"></a><!-- doxytag: member="std::unordered_set::end" ref="abcb367856512f86cea899ad0a8bb6091" args="(size_type) const " --> const_local_iterator <b>end</b> (size_type) const <li><a class="anchor" id="a6e2cfa1a9db91030933599b9f5c5b167"></a><!-- doxytag: member="std::unordered_set::end" ref="a6e2cfa1a9db91030933599b9f5c5b167" args="() const " --> const_iterator <b>end</b> () const <li><a class="anchor" id="abfece1e5ed8982af5d634bb7f6fa334c"></a><!-- doxytag: member="std::unordered_set::equal_range" ref="abfece1e5ed8982af5d634bb7f6fa334c" args="(const key_type &__k)" --> <a class="el" href="a00263.html">std::pair</a>< iterator, iterator > <b>equal_range</b> (const key_type &__k) <li><a class="anchor" id="abad4aec0bc8fc0b978fb8308d190c49d"></a><!-- doxytag: member="std::unordered_set::equal_range" ref="abad4aec0bc8fc0b978fb8308d190c49d" args="(const key_type &__k) const " --> <a class="el" href="a00263.html">std::pair</a>< const_iterator, <br class="typebreak"/> const_iterator > <b>equal_range</b> (const key_type &__k) const <li><a class="anchor" id="adf6942ff9c5b8e8be99a837457ae0795"></a><!-- doxytag: member="std::unordered_set::erase" ref="adf6942ff9c5b8e8be99a837457ae0795" args="(const_iterator)" --> iterator <b>erase</b> (const_iterator) <li><a class="anchor" id="aa3f48e9eaff6ed3e6725b6ca4c2c16c4"></a><!-- doxytag: member="std::unordered_set::erase" ref="aa3f48e9eaff6ed3e6725b6ca4c2c16c4" args="(iterator __it)" --> iterator <b>erase</b> (iterator __it) <li><a class="anchor" id="ae107f46442da691ca2903076c638dc87"></a><!-- doxytag: member="std::unordered_set::erase" ref="ae107f46442da691ca2903076c638dc87" args="(const key_type &)" --> size_type <b>erase</b> (const key_type &) <li><a class="anchor" id="a54c06311dfd59d37f118f26e41faf96a"></a><!-- doxytag: member="std::unordered_set::erase" ref="a54c06311dfd59d37f118f26e41faf96a" args="(const_iterator, const_iterator)" --> iterator <b>erase</b> (const_iterator, const_iterator) <li><a class="anchor" id="af18aa4efeb880b4bb070aae2b45dd843"></a><!-- doxytag: member="std::unordered_set::find" ref="af18aa4efeb880b4bb070aae2b45dd843" args="(const key_type &__k) const " --> const_iterator <b>find</b> (const key_type &__k) const <li><a class="anchor" id="a31b986342c62270ba155b75c91a6ba46"></a><!-- doxytag: member="std::unordered_set::find" ref="a31b986342c62270ba155b75c91a6ba46" args="(const key_type &__k)" --> iterator <b>find</b> (const key_type &__k) <li><a class="anchor" id="ae37eca83aab36fbbc481510ffd6f02bd"></a><!-- doxytag: member="std::unordered_set::get_allocator" ref="ae37eca83aab36fbbc481510ffd6f02bd" args="() const " --> allocator_type <b>get_allocator</b> () const <li><a class="anchor" id="a53d3fdccae69140328ae7818bab2b6a5"></a><!-- doxytag: member="std::unordered_set::insert" ref="a53d3fdccae69140328ae7818bab2b6a5" args="(const_iterator, const value_type &__v)" --> iterator <b>insert</b> (const_iterator, const value_type &__v) <li><a class="anchor" id="a112ee5ba0395390662917a13be739e81"></a><!-- doxytag: member="std::unordered_set::insert" ref="a112ee5ba0395390662917a13be739e81" args="(const value_type &__v)" --> <a class="el" href="a00263.html">_Insert_Return_Type</a> <b>insert</b> (const value_type &__v) <li><a class="anchor" id="ae84aa18a8fc850e8d5ead5bb1896c9c6"></a><!-- doxytag: member="std::unordered_set::insert" ref="ae84aa18a8fc850e8d5ead5bb1896c9c6" args="(_Pair &&__v)" --> template<typename _Pair , typename = typename std::enable_if<!__constant_iterators && std::is_convertible<_Pair, value_type>::value>::type> <a class="el" href="a00263.html">_Insert_Return_Type</a> <b>insert</b> (_Pair &&__v) <li><a class="anchor" id="a97536d81d4ca1ef7d3f374688db7cf3e"></a><!-- doxytag: member="std::unordered_set::insert" ref="a97536d81d4ca1ef7d3f374688db7cf3e" args="(const_iterator, _Pair &&__v)" --> template<typename _Pair , typename = typename std::enable_if<!__constant_iterators && std::is_convertible<_Pair, value_type>::value>::type> iterator <b>insert</b> (const_iterator, _Pair &&__v) <li><a class="anchor" id="a5cf80865e9eecea09e0d0728d0dfd0d7"></a><!-- doxytag: member="std::unordered_set::insert" ref="a5cf80865e9eecea09e0d0728d0dfd0d7" args="(initializer_list< value_type > __l)" --> void <b>insert</b> (<a class="el" href="a00524.html">initializer_list</a>< value_type > __l) <li><a class="anchor" id="a8db03e3af2841a4ecb4059c8d4b77c58"></a><!-- doxytag: member="std::unordered_set::insert" ref="a8db03e3af2841a4ecb4059c8d4b77c58" args="(const_iterator, value_type &&__v)" --> iterator <b>insert</b> (const_iterator, value_type &&__v) <li><a class="anchor" id="ae79e1a1a19306b1773e76123e36ccb6d"></a><!-- doxytag: member="std::unordered_set::insert" ref="ae79e1a1a19306b1773e76123e36ccb6d" args="(_InputIterator __first, _InputIterator __last)" --> template<typename _InputIterator > void <b>insert</b> (_InputIterator __first, _InputIterator __last) <li><a class="anchor" id="ae5cad3871b103a1b980ceb9d9fe8e80b"></a><!-- doxytag: member="std::unordered_set::insert" ref="ae5cad3871b103a1b980ceb9d9fe8e80b" args="(value_type &&__v)" --> <a class="el" href="a00263.html">_Insert_Return_Type</a> <b>insert</b> (value_type &&__v) <li><a class="anchor" id="aa3224157ac23bccb2347d8b96fa34ac9"></a><!-- doxytag: member="std::unordered_set::key_eq" ref="aa3224157ac23bccb2347d8b96fa34ac9" args="() const " --> key_equal <b>key_eq</b> () const <li><a class="anchor" id="ac59c1cbb9c479a716346bbbfa08fea11"></a><!-- doxytag: member="std::unordered_set::load_factor" ref="ac59c1cbb9c479a716346bbbfa08fea11" args="() const " --> float <b>load_factor</b> () const <li><a class="anchor" id="a7bb67688dca91e7463c8f85ca266ad81"></a><!-- doxytag: member="std::unordered_set::max_bucket_count" ref="a7bb67688dca91e7463c8f85ca266ad81" args="() const " --> size_type <b>max_bucket_count</b> () const <li><a class="anchor" id="a91ec0e88493e3c5a7ac2cdc274a26e7f"></a><!-- doxytag: member="std::unordered_set::max_size" ref="a91ec0e88493e3c5a7ac2cdc274a26e7f" args="() const " --> size_type <b>max_size</b> () const <li><a class="anchor" id="a3c34d8e0d4bfc8c91c4b54b5199edc04"></a><!-- doxytag: member="std::unordered_set::operator=" ref="a3c34d8e0d4bfc8c91c4b54b5199edc04" args="(initializer_list< value_type > __l)" --> <a class="el" href="a00736.html">unordered_set</a> & <b>operator=</b> (<a class="el" href="a00524.html">initializer_list</a>< value_type > __l) <li><a class="anchor" id="ac411c99fb0c2f4fc36fd7fb5893912ab"></a><!-- doxytag: member="std::unordered_set::rehash" ref="ac411c99fb0c2f4fc36fd7fb5893912ab" args="(size_type __n)" --> void <b>rehash</b> (size_type __n) <li><a class="anchor" id="a119bb1bcc257f7024679928e10552a97"></a><!-- doxytag: member="std::unordered_set::size" ref="a119bb1bcc257f7024679928e10552a97" args="() const " --> size_type <b>size</b> () const <li><a class="anchor" id="aebbe496865d475c71717e8614a154259"></a><!-- doxytag: member="std::unordered_set::swap" ref="aebbe496865d475c71717e8614a154259" args="(_Hashtable &)" --> void <b>swap</b> (_Hashtable &) </ul> <h2><a name="friends"></a> Friends</h2> <ul> <li><a class="anchor" id="adad435e0f649d4ea73d5af333438c147"></a><!-- doxytag: member="std::unordered_set::__detail::_Map_base" ref="adad435e0f649d4ea73d5af333438c147" args="" --> struct <b>__detail::_Map_base</b> </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<class _Value, class _Hash = hash<_Value>, class _Pred = std::equal_to<_Value>, class _Alloc = std::allocator<_Value>><br/> class std::unordered_set< _Value, _Hash, _Pred, _Alloc ></h3> <p>A standard container composed of unique keys (containing at most one of each key value) in which the elements' keys are the elements themselves. </p> <p>Meets the requirements of a <a href="tables.html#65">container</a>, and <a href="tables.html#xx">unordered associative container</a></p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">Value</td><td>Type of key objects. </td></tr> <tr><td class="paramname">Hash</td><td>Hashing function object type, defaults to hash<Value>. </td></tr> <tr><td class="paramname">Pred</td><td>Predicate function object type, defaults to equal_to<Value>. </td></tr> <tr><td class="paramname">Alloc</td><td>Allocator type, defaults to allocator<Key>. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a01107_source.html#l00249">249</a> of file <a class="el" href="a01107_source.html">unordered_set.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01107_source.html">unordered_set.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01137.html">std</a> </li> <li class="navelem"><a class="el" href="a00736.html">unordered_set</a> </li> <li class="footer">Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li> </ul> </div> </body> </html>