.TH "std::set< _Key, _Compare, _Alloc >" 3cxx "Wed Jul 28 2021" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::set< _Key, _Compare, _Alloc > \- A standard container made up of unique keys, which can be retrieved in logarithmic time\&. .SH SYNOPSIS .br .PP .SS "Public Types" .in +1c .ti -1c .RI "using \fBinsert_return_type\fP = typename \fB_Rep_type::insert_return_type\fP" .br .ti -1c .RI "using \fBnode_type\fP = typename \fB_Rep_type::node_type\fP" .br .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "typedef _Key \fBkey_type\fP" .br .RI "Public typedefs\&. " .ti -1c .RI "typedef _Key \fBvalue_type\fP" .br .RI "Public typedefs\&. " .ti -1c .RI "typedef _Compare \fBkey_compare\fP" .br .RI "Public typedefs\&. " .ti -1c .RI "typedef _Compare \fBvalue_compare\fP" .br .RI "Public typedefs\&. " .ti -1c .RI "typedef _Alloc \fBallocator_type\fP" .br .RI "Public typedefs\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "typedef _Alloc_traits::pointer \fBpointer\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Alloc_traits::const_pointer \fBconst_pointer\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Alloc_traits::reference \fBreference\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Alloc_traits::const_reference \fBconst_reference\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Rep_type::const_iterator \fBiterator\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Rep_type::const_iterator \fBconst_iterator\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef \fB_Rep_type::const_reverse_iterator\fP \fBreverse_iterator\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef \fB_Rep_type::const_reverse_iterator\fP \fBconst_reverse_iterator\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Rep_type::size_type \fBsize_type\fP" .br .RI "Iterator-related typedefs\&. " .ti -1c .RI "typedef _Rep_type::difference_type \fBdifference_type\fP" .br .RI "Iterator-related typedefs\&. " .in -1c .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBset\fP ()=default" .br .RI "Default constructor creates no elements\&. " .ti -1c .RI "template \fBset\fP (_InputIterator __first, _InputIterator __last)" .br .RI "Builds a set from a range\&. " .ti -1c .RI "template \fBset\fP (_InputIterator __first, _InputIterator __last, const _Compare &__comp, const \fBallocator_type\fP &__a=\fBallocator_type\fP())" .br .RI "Builds a set from a range\&. " .ti -1c .RI "template \fBset\fP (_InputIterator __first, _InputIterator __last, const \fBallocator_type\fP &__a)" .br .RI "Allocator-extended range constructor\&. " .ti -1c .RI "\fBset\fP (const _Compare &__comp, const \fBallocator_type\fP &__a=\fBallocator_type\fP())" .br .RI "Creates a set with no elements\&. " .ti -1c .RI "\fBset\fP (const \fBallocator_type\fP &__a)" .br .RI "Allocator-extended default constructor\&. " .ti -1c .RI "\fBset\fP (const \fBset\fP &)=default" .br .RI "Set copy constructor\&. " .ti -1c .RI "\fBset\fP (const \fBset\fP &__x, const \fBallocator_type\fP &__a)" .br .RI "Allocator-extended copy constructor\&. " .ti -1c .RI "\fBset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l, const _Compare &__comp=_Compare(), const \fBallocator_type\fP &__a=\fBallocator_type\fP())" .br .RI "Builds a set from an initializer_list\&. " .ti -1c .RI "\fBset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l, const \fBallocator_type\fP &__a)" .br .RI "Allocator-extended initialier-list constructor\&. " .ti -1c .RI "\fBset\fP (\fBset\fP &&)=default" .br .RI "Set move constructor " .ti -1c .RI "\fBset\fP (\fBset\fP &&__x, const \fBallocator_type\fP &__a) noexcept(\fBis_nothrow_copy_constructible\fP< _Compare >::value &&_Alloc_traits::_S_always_equal())" .br .RI "Allocator-extended move constructor\&. " .ti -1c .RI "\fB~set\fP ()=default" .br .ti -1c .RI "\fBiterator\fP \fBbegin\fP () const noexcept" .br .ti -1c .RI "\fBiterator\fP \fBcbegin\fP () const noexcept" .br .ti -1c .RI "\fBiterator\fP \fBcend\fP () const noexcept" .br .ti -1c .RI "void \fBclear\fP () noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrbegin\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrend\fP () const noexcept" .br .ti -1c .RI "template \fBstd::pair\fP< \fBiterator\fP, bool > \fBemplace\fP (_Args &&\&.\&.\&. __args)" .br .RI "Attempts to build and insert an element into the set\&. " .ti -1c .RI "template \fBiterator\fP \fBemplace_hint\fP (\fBconst_iterator\fP __pos, _Args &&\&.\&.\&. __args)" .br .RI "Attempts to insert an element into the set\&. " .ti -1c .RI "bool \fBempty\fP () const noexcept" .br .RI "Returns true if the set is empty\&. " .ti -1c .RI "\fBiterator\fP \fBend\fP () const noexcept" .br .ti -1c .RI "\fBsize_type\fP \fBerase\fP (const \fBkey_type\fP &__x)" .br .RI "Erases elements according to the provided key\&. " .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBerase\fP (\fBconst_iterator\fP __first, \fBconst_iterator\fP __last)" .br .RI "Erases a [__first,__last) range of elements from a set\&. " .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBerase\fP (\fBconst_iterator\fP __position)" .br .RI "Erases an element from a set\&. " .ti -1c .RI "node_type \fBextract\fP (const \fBkey_type\fP &__x)" .br .RI "Extract a node\&. " .ti -1c .RI "node_type \fBextract\fP (\fBconst_iterator\fP __pos)" .br .RI "Extract a node\&. " .ti -1c .RI "\fBallocator_type\fP \fBget_allocator\fP () const noexcept" .br .RI "Returns the allocator object with which the set was constructed\&. " .ti -1c .RI "template void \fBinsert\fP (_InputIterator __first, _InputIterator __last)" .br .RI "A template function that attempts to insert a range of elements\&. " .ti -1c .RI "\fBstd::pair\fP< \fBiterator\fP, bool > \fBinsert\fP (const \fBvalue_type\fP &__x)" .br .RI "Attempts to insert an element into the set\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __hint, node_type &&__nh)" .br .RI "Re-insert an extracted node\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __position, const \fBvalue_type\fP &__x)" .br .RI "Attempts to insert an element into the set\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __position, \fBvalue_type\fP &&__x)" .br .ti -1c .RI "void \fBinsert\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l)" .br .RI "Attempts to insert a list of elements into the set\&. " .ti -1c .RI "insert_return_type \fBinsert\fP (node_type &&__nh)" .br .RI "Re-insert an extracted node\&. " .ti -1c .RI "\fBstd::pair\fP< \fBiterator\fP, bool > \fBinsert\fP (\fBvalue_type\fP &&__x)" .br .ti -1c .RI "\fBkey_compare\fP \fBkey_comp\fP () const" .br .RI "Returns the comparison object with which the set was constructed\&. " .ti -1c .RI "\fBsize_type\fP \fBmax_size\fP () const noexcept" .br .RI "Returns the maximum size of the set\&. " .ti -1c .RI "template void \fBmerge\fP (\fBmultiset\fP< _Key, _Compare1, _Alloc > &&__source)" .br .ti -1c .RI "template void \fBmerge\fP (\fBmultiset\fP< _Key, _Compare1, _Alloc > &__source)" .br .ti -1c .RI "template void \fBmerge\fP (\fBset\fP< _Key, _Compare1, _Alloc > &&__source)" .br .ti -1c .RI "template void \fBmerge\fP (\fBset\fP< _Key, _Compare1, _Alloc > &__source)" .br .ti -1c .RI "\fBset\fP & \fBoperator=\fP (const \fBset\fP &)=default" .br .RI "Set assignment operator\&. " .ti -1c .RI "\fBset\fP & \fBoperator=\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l)" .br .RI "Set list assignment operator\&. " .ti -1c .RI "\fBset\fP & \fBoperator=\fP (\fBset\fP &&)=default" .br .RI "Move assignment operator\&. " .ti -1c .RI "\fBreverse_iterator\fP \fBrbegin\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrend\fP () const noexcept" .br .ti -1c .RI "\fBsize_type\fP \fBsize\fP () const noexcept" .br .RI "Returns the size of the set\&. " .ti -1c .RI "void \fBswap\fP (\fBset\fP &__x) noexcept(/*\fBconditional\fP */)" .br .RI "Swaps data with another set\&. " .ti -1c .RI "\fBvalue_compare\fP \fBvalue_comp\fP () const" .br .RI "Returns the comparison object with which the set was constructed\&. " .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBsize_type\fP \fBcount\fP (const \fBkey_type\fP &__x) const" .br .RI "Finds the number of elements\&. " .ti -1c .RI "template auto \fBcount\fP (const _Kt &__x) const \-> decltype(_M_t\&._M_count_tr(__x))" .br .RI "Finds the number of elements\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBfind\fP (const \fBkey_type\fP &__x)" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "\fBconst_iterator\fP \fBfind\fP (const \fBkey_type\fP &__x) const" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "template auto \fBfind\fP (const _Kt &__x) \-> decltype(\fBiterator\fP{_M_t\&._M_find_tr(__x)})" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "template auto \fBfind\fP (const _Kt &__x) const \-> decltype(\fBconst_iterator\fP{_M_t\&._M_find_tr(__x)})" .br .RI "Tries to locate an element in a set\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBlower_bound\fP (const \fBkey_type\fP &__x)" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "\fBconst_iterator\fP \fBlower_bound\fP (const \fBkey_type\fP &__x) const" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "template auto \fBlower_bound\fP (const _Kt &__x) \-> decltype(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x)))" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "template auto \fBlower_bound\fP (const _Kt &__x) const \-> decltype(\fBconst_iterator\fP(_M_t\&._M_lower_bound_tr(__x)))" .br .RI "Finds the beginning of a subsequence matching given key\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBupper_bound\fP (const \fBkey_type\fP &__x)" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "\fBconst_iterator\fP \fBupper_bound\fP (const \fBkey_type\fP &__x) const" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "template auto \fBupper_bound\fP (const _Kt &__x) \-> decltype(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x)))" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "template auto \fBupper_bound\fP (const _Kt &__x) const \-> decltype(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x)))" .br .RI "Finds the end of a subsequence matching given key\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBstd::pair\fP< \fBiterator\fP, \fBiterator\fP > \fBequal_range\fP (const \fBkey_type\fP &__x)" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "\fBstd::pair\fP< \fBconst_iterator\fP, \fBconst_iterator\fP > \fBequal_range\fP (const \fBkey_type\fP &__x) const" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "template auto \fBequal_range\fP (const _Kt &__x) \-> decltype(\fBpair\fP< \fBiterator\fP, \fBiterator\fP >(_M_t\&._M_equal_range_tr(__x)))" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "template auto \fBequal_range\fP (const _Kt &__x) const \-> decltype(\fBpair\fP< \fBiterator\fP, \fBiterator\fP >(_M_t\&._M_equal_range_tr(__x)))" .br .RI "Finds a subsequence matching given key\&. " .in -1c .in -1c .SS "Friends" .in +1c .ti -1c .RI "template bool \fBoperator<\fP (const \fBset\fP< _K1, _C1, _A1 > &, const \fBset\fP< _K1, _C1, _A1 > &)" .br .ti -1c .RI "template bool \fBoperator==\fP (const \fBset\fP< _K1, _C1, _A1 > &, const \fBset\fP< _K1, _C1, _A1 > &)" .br .ti -1c .RI "template struct \fBstd::_Rb_tree_merge_helper\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template, typename _Alloc = std::allocator<_Key>> .br class std::set< _Key, _Compare, _Alloc >" A standard container made up of unique keys, which can be retrieved in logarithmic time\&. .PP \fBTemplate Parameters\fP .RS 4 \fI_Key\fP Type of key objects\&. .br \fI_Compare\fP Comparison function object type, defaults to less<_Key>\&. .br \fI_Alloc\fP Allocator type, defaults to allocator<_Key>\&. .RE .PP Meets the requirements of a \fCcontainer\fP, a \fCreversible container\fP, and an \fCassociative container\fP (using unique keys)\&. .PP Sets support bidirectional iterators\&. .PP The private tree data is declared exactly the same way for set and multiset; the distinction is made entirely in how the tree functions are called (*_unique versus *_equal, same as the standard)\&. .PP Definition at line 94 of file stl_set\&.h\&. .SH "Member Typedef Documentation" .PP .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Alloc \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBallocator_type\fP" .PP Public typedefs\&. .PP Definition at line 124 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Rep_type::const_iterator \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBconst_iterator\fP" .PP Iterator-related typedefs\&. .PP Definition at line 148 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Alloc_traits::const_pointer \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBconst_pointer\fP" .PP Iterator-related typedefs\&. .PP Definition at line 141 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Alloc_traits::const_reference \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBconst_reference\fP" .PP Iterator-related typedefs\&. .PP Definition at line 143 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef \fB_Rep_type::const_reverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBconst_reverse_iterator\fP" .PP Iterator-related typedefs\&. .PP Definition at line 150 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Rep_type::difference_type \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBdifference_type\fP" .PP Iterator-related typedefs\&. .PP Definition at line 152 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Rep_type::const_iterator \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBiterator\fP" .PP Iterator-related typedefs\&. .PP Definition at line 147 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Compare \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBkey_compare\fP" .PP Public typedefs\&. .PP Definition at line 122 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Key \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBkey_type\fP" .PP Public typedefs\&. .PP Definition at line 120 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Alloc_traits::pointer \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBpointer\fP" .PP Iterator-related typedefs\&. .PP Definition at line 140 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Alloc_traits::reference \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBreference\fP" .PP Iterator-related typedefs\&. .PP Definition at line 142 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef \fB_Rep_type::const_reverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBreverse_iterator\fP" .PP Iterator-related typedefs\&. .PP Definition at line 149 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Rep_type::size_type \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBsize_type\fP" .PP Iterator-related typedefs\&. .PP Definition at line 151 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Compare \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBvalue_compare\fP" .PP Public typedefs\&. .PP Definition at line 123 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> typedef _Key \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBvalue_type\fP" .PP Public typedefs\&. .PP Definition at line 121 of file stl_set\&.h\&. .SH "Constructor & Destructor Documentation" .PP .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP ()\fC [default]\fP" .PP Default constructor creates no elements\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (const _Compare & __comp, const \fBallocator_type\fP & __a = \fC\fBallocator_type\fP()\fP)\fC [inline]\fP, \fC [explicit]\fP" .PP Creates a set with no elements\&. .PP \fBParameters\fP .RS 4 \fI__comp\fP Comparator to use\&. .br \fI__a\fP An allocator object\&. .RE .PP .PP Definition at line 176 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (_InputIterator __first, _InputIterator __last)\fC [inline]\fP" .PP Builds a set from a range\&. .PP \fBParameters\fP .RS 4 \fI__first\fP An input iterator\&. .br \fI__last\fP An input iterator\&. .RE .PP Create a set consisting of copies of the elements from [__first,__last)\&. This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(__first,__last))\&. .PP Definition at line 191 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (_InputIterator __first, _InputIterator __last, const _Compare & __comp, const \fBallocator_type\fP & __a = \fC\fBallocator_type\fP()\fP)\fC [inline]\fP" .PP Builds a set from a range\&. .PP \fBParameters\fP .RS 4 \fI__first\fP An input iterator\&. .br \fI__last\fP An input iterator\&. .br \fI__comp\fP A comparison functor\&. .br \fI__a\fP An allocator object\&. .RE .PP Create a set consisting of copies of the elements from [__first,__last)\&. This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(__first,__last))\&. .PP Definition at line 208 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (const \fBset\fP< _Key, _Compare, _Alloc > &)\fC [default]\fP" .PP Set copy constructor\&. Whether the allocator is copied depends on the allocator traits\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (\fBset\fP< _Key, _Compare, _Alloc > &&)\fC [default]\fP" .PP Set move constructor The newly-created set contains the exact contents of the moved instance\&. The moved instance is a valid, but unspecified, set\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l, const _Compare & __comp = \fC_Compare()\fP, const \fBallocator_type\fP & __a = \fC\fBallocator_type\fP()\fP)\fC [inline]\fP" .PP Builds a set from an initializer_list\&. .PP \fBParameters\fP .RS 4 \fI__l\fP An initializer_list\&. .br \fI__comp\fP A comparison functor\&. .br \fI__a\fP An allocator object\&. .RE .PP Create a set consisting of copies of the elements in the list\&. This is linear in N if the list is already sorted, and NlogN otherwise (where N is \fI__l\&.size()\fP)\&. .PP Definition at line 243 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (const \fBallocator_type\fP & __a)\fC [inline]\fP, \fC [explicit]\fP" .PP Allocator-extended default constructor\&. .PP Definition at line 251 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (const \fBset\fP< _Key, _Compare, _Alloc > & __x, const \fBallocator_type\fP & __a)\fC [inline]\fP" .PP Allocator-extended copy constructor\&. .PP Definition at line 255 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (\fBset\fP< _Key, _Compare, _Alloc > && __x, const \fBallocator_type\fP & __a)\fC [inline]\fP, \fC [noexcept]\fP" .PP Allocator-extended move constructor\&. .PP Definition at line 259 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > __l, const \fBallocator_type\fP & __a)\fC [inline]\fP" .PP Allocator-extended initialier-list constructor\&. .PP Definition at line 265 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::set\fP< _Key, _Compare, _Alloc >::\fBset\fP (_InputIterator __first, _InputIterator __last, const \fBallocator_type\fP & __a)\fC [inline]\fP" .PP Allocator-extended range constructor\&. .PP Definition at line 271 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::set\fP< _Key, _Compare, _Alloc >::~\fBset\fP ()\fC [default]\fP" The dtor only erases the elements, and note that if the elements themselves are pointers, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .SH "Member Function Documentation" .PP .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::begin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the first element in the set\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line 344 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::cbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the first element in the set\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line 381 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::cend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points one past the last element in the set\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line 390 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::set\fP< _Key, _Compare, _Alloc >::clear ()\fC [inline]\fP, \fC [noexcept]\fP" Erases all elements in a set\&. Note that this function only erases the elements, and that if the elements themselves are pointers, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line 733 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::count (const _Kt & __x) const \-> decltype(_M_t\&._M_count_tr(__x)) \fC [inline]\fP" .PP Finds the number of elements\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to located\&. .RE .PP \fBReturns\fP .RS 4 Number of elements with specified key\&. .RE .PP This function only makes sense for multisets; for set the result will either be 0 (not present) or 1 (present)\&. .PP Definition at line 754 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBsize_type\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::count (const \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the number of elements\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to located\&. .RE .PP \fBReturns\fP .RS 4 Number of elements with specified key\&. .RE .PP This function only makes sense for multisets; for set the result will either be 0 (not present) or 1 (present)\&. .PP Definition at line 748 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::crbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the last element in the set\&. Iteration is done in descending order according to the keys\&. .PP Definition at line 399 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::crend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last pair in the set\&. Iteration is done in descending order according to the keys\&. .PP Definition at line 408 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::pair\fP<\fBiterator\fP, bool> \fBstd::set\fP< _Key, _Compare, _Alloc >::emplace (_Args &&\&.\&.\&. __args)\fC [inline]\fP" .PP Attempts to build and insert an element into the set\&. .PP \fBParameters\fP .RS 4 \fI__args\fP Arguments used to generate an element\&. .RE .PP \fBReturns\fP .RS 4 A pair, of which the first element is an iterator that points to the possibly inserted element, and the second is a bool that is true if the element was actually inserted\&. .RE .PP This function attempts to build and insert an element into the set\&. A set relies on unique keys and thus an element is only inserted if it is not already present in the set\&. .PP Insertion requires logarithmic time\&. .PP Definition at line 462 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::emplace_hint (\fBconst_iterator\fP __pos, _Args &&\&.\&.\&. __args)\fC [inline]\fP" .PP Attempts to insert an element into the set\&. .PP \fBParameters\fP .RS 4 \fI__pos\fP An iterator that serves as a hint as to where the element should be inserted\&. .br \fI__args\fP Arguments used to generate the element to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the element with key equivalent to the one generated from \fI__args\fP (may or may not be the element itself)\&. .RE .PP This function is not concerned about whether the insertion took place, and thus does not return a boolean like the single-argument emplace() does\&. Note that the first parameter is only a hint and can potentially improve the performance of the insertion process\&. A bad hint would cause no gains in efficiency\&. .PP For more on \fIhinting\fP, see: https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line 488 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> bool \fBstd::set\fP< _Key, _Compare, _Alloc >::empty () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns true if the set is empty\&. .PP Definition at line 414 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::end () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points one past the last element in the set\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line 353 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::equal_range (const _Kt & __x) \-> decltype(\fBpair\fP<\fBiterator\fP, \fBiterator\fP>(_M_t\&._M_equal_range_tr(__x))) \fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line 908 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::equal_range (const _Kt & __x) const \-> decltype(\fBpair\fP<\fBiterator\fP, \fBiterator\fP>(_M_t\&._M_equal_range_tr(__x))) \fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line 914 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::pair\fP<\fBiterator\fP, \fBiterator\fP> \fBstd::set\fP< _Key, _Compare, _Alloc >::equal_range (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line 898 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::pair\fP<\fBconst_iterator\fP, \fBconst_iterator\fP> \fBstd::set\fP< _Key, _Compare, _Alloc >::equal_range (const \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line 902 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBsize_type\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::erase (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Erases elements according to the provided key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key of element to be erased\&. .RE .PP \fBReturns\fP .RS 4 The number of elements erased\&. .RE .PP This function erases all the elements located by the given key from a set\&. Note that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line 684 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::erase (\fBconst_iterator\fP __first, \fBconst_iterator\fP __last)\fC [inline]\fP" .PP Erases a [__first,__last) range of elements from a set\&. .PP \fBParameters\fP .RS 4 \fI__first\fP Iterator pointing to the start of the range to be erased\&. .br \fI__last\fP Iterator pointing to the end of the range to be erased\&. .RE .PP \fBReturns\fP .RS 4 The iterator \fI__last\fP\&. .RE .PP This function erases a sequence of elements from a set\&. Note that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line 706 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::erase (\fBconst_iterator\fP __position)\fC [inline]\fP" .PP Erases an element from a set\&. .PP \fBParameters\fP .RS 4 \fI__position\fP An iterator pointing to the element to be erased\&. .RE .PP \fBReturns\fP .RS 4 An iterator pointing to the element immediately following \fI__position\fP prior to the element being erased\&. If no such element exists, end() is returned\&. .RE .PP This function erases an element, pointed to by the given iterator, from a set\&. Note that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line 654 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> node_type \fBstd::set\fP< _Key, _Compare, _Alloc >::extract (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Extract a node\&. .PP Definition at line 593 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> node_type \fBstd::set\fP< _Key, _Compare, _Alloc >::extract (\fBconst_iterator\fP __pos)\fC [inline]\fP" .PP Extract a node\&. .PP Definition at line 585 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::find (const _Kt & __x) \-> decltype(\fBiterator\fP{_M_t\&._M_find_tr(__x)}) \fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line 804 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::find (const _Kt & __x) const \-> decltype(\fBconst_iterator\fP{_M_t\&._M_find_tr(__x)}) \fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line 810 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::find (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line 794 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::find (const \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line 798 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBallocator_type\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::get_allocator () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the allocator object with which the set was constructed\&. .PP Definition at line 335 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template void \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (_InputIterator __first, _InputIterator __last)\fC [inline]\fP" .PP A template function that attempts to insert a range of elements\&. .PP \fBParameters\fP .RS 4 \fI__first\fP Iterator pointing to the start of the range to be inserted\&. .br \fI__last\fP Iterator pointing to the end of the range\&. .RE .PP Complexity similar to that of the range constructor\&. .PP Definition at line 566 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::pair\fP<\fBiterator\fP, bool> \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (const \fBvalue_type\fP & __x)\fC [inline]\fP" .PP Attempts to insert an element into the set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be inserted\&. .RE .PP \fBReturns\fP .RS 4 A pair, of which the first element is an iterator that points to the possibly inserted element, and the second is a bool that is true if the element was actually inserted\&. .RE .PP This function attempts to insert an element into the set\&. A set relies on unique keys and thus an element is only inserted if it is not already present in the set\&. .PP Insertion requires logarithmic time\&. .PP Definition at line 509 of file stl_set\&.h\&. .PP References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second\&. .PP Referenced by std::set< _Key, _Compare, _Alloc >::insert()\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (\fBconst_iterator\fP __hint, node_type && __nh)\fC [inline]\fP" .PP Re-insert an extracted node\&. .PP Definition at line 603 of file stl_set\&.h\&. .PP References std::move()\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (\fBconst_iterator\fP __position, const \fBvalue_type\fP & __x)\fC [inline]\fP" .PP Attempts to insert an element into the set\&. .PP \fBParameters\fP .RS 4 \fI__position\fP An iterator that serves as a hint as to where the element should be inserted\&. .br \fI__x\fP Element to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the element with key of \fI__x\fP (may or may not be the element passed in)\&. .RE .PP This function is not concerned about whether the insertion took place, and thus does not return a boolean like the single-argument insert() does\&. Note that the first parameter is only a hint and can potentially improve the performance of the insertion process\&. A bad hint would cause no gains in efficiency\&. .PP For more on \fIhinting\fP, see: https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line 546 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (\fBinitializer_list\fP< \fBvalue_type\fP > __l)\fC [inline]\fP" .PP Attempts to insert a list of elements into the set\&. .PP \fBParameters\fP .RS 4 \fI__l\fP A std::initializer_list of elements to be inserted\&. .RE .PP Complexity similar to that of the range constructor\&. .PP Definition at line 578 of file stl_set\&.h\&. .PP References std::set< _Key, _Compare, _Alloc >::insert()\&. .SS "template, typename _Alloc = std::allocator<_Key>> insert_return_type \fBstd::set\fP< _Key, _Compare, _Alloc >::insert (node_type && __nh)\fC [inline]\fP" .PP Re-insert an extracted node\&. .PP Definition at line 598 of file stl_set\&.h\&. .PP References std::move()\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBkey_compare\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::key_comp () const\fC [inline]\fP" .PP Returns the comparison object with which the set was constructed\&. .PP Definition at line 327 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::lower_bound (const _Kt & __x) \-> decltype(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x))) \fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line 839 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::lower_bound (const _Kt & __x) const \-> decltype(\fBconst_iterator\fP(_M_t\&._M_lower_bound_tr(__x))) \fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line 845 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::lower_bound (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line 829 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::lower_bound (const \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line 833 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBsize_type\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::max_size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the maximum size of the set\&. .PP Definition at line 424 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBset\fP& \fBstd::set\fP< _Key, _Compare, _Alloc >::operator= (const \fBset\fP< _Key, _Compare, _Alloc > &)\fC [default]\fP" .PP Set assignment operator\&. Whether the allocator is copied depends on the allocator traits\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBset\fP& \fBstd::set\fP< _Key, _Compare, _Alloc >::operator= (\fBinitializer_list\fP< \fBvalue_type\fP > __l)\fC [inline]\fP" .PP Set list assignment operator\&. .PP \fBParameters\fP .RS 4 \fI__l\fP An initializer_list\&. .RE .PP This function fills a set with copies of the elements in the initializer list \fI__l\fP\&. .PP Note that the assignment completely changes the set and that the resulting set's size is the same as the number of elements assigned\&. .PP Definition at line 316 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBset\fP& \fBstd::set\fP< _Key, _Compare, _Alloc >::operator= (\fBset\fP< _Key, _Compare, _Alloc > &&)\fC [default]\fP" .PP Move assignment operator\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::rbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the last element in the set\&. Iteration is done in descending order according to the keys\&. .PP Definition at line 362 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::rend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last pair in the set\&. Iteration is done in descending order according to the keys\&. .PP Definition at line 371 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBsize_type\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the size of the set\&. .PP Definition at line 419 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::set\fP< _Key, _Compare, _Alloc >::swap (\fBset\fP< _Key, _Compare, _Alloc > & __x)\fC [inline]\fP, \fC [noexcept]\fP" .PP Swaps data with another set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP A set of the same element and allocator types\&. .RE .PP This exchanges the elements between two sets in constant time\&. (It is only swapping a pointer, an integer, and an instance of the \fCCompare\fP type (which itself is often stateless and empty), so it should be quite fast\&.) Note that the global std::swap() function is specialized such that std::swap(s1,s2) will feed to this function\&. .PP Whether the allocators are swapped depends on the allocator traits\&. .PP Definition at line 441 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::upper_bound (const _Kt & __x) \-> decltype(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x))) \fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line 869 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template auto \fBstd::set\fP< _Key, _Compare, _Alloc >::upper_bound (const _Kt & __x) const \-> decltype(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x))) \fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line 875 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::upper_bound (const \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line 859 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::upper_bound (const \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line 863 of file stl_set\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBvalue_compare\fP \fBstd::set\fP< _Key, _Compare, _Alloc >::value_comp () const\fC [inline]\fP" .PP Returns the comparison object with which the set was constructed\&. .PP Definition at line 331 of file stl_set\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.