📄 set.html
字号:
<P>The member function returns a bidirectional iterator that pointsjust beyond the end of the sequence.</P><H3><CODE><A NAME="multiset::equal_range">multiset::equal_range</A></CODE></H3><PRE>pair<iterator, iterator> <B>equal_range</B>(const Key& keyval);pair<const_iterator, const_iterator> <B>equal_range</B>(const Key& keyval) const;</PRE><P>The member function returns a pair of iterators <CODE>X</CODE>such that <CODE>X.<A HREF="utility.html#pair::first">first</A> ==<A HREF="#multiset::lower_bound">lower_bound</A>(keyval)</CODE>and <CODE>X.<A HREF="utility.html#pair::second">second</A> ==<A HREF="#multiset::upper_bound">upper_bound</A>(keyval)</CODE>.</P><H3><CODE><A NAME="multiset::erase">multiset::erase</A></CODE></H3><PRE>iterator <B>erase</B>(iterator where);iterator <B>erase</B>(iterator first, iterator last);size_type <B>erase</B>(const Key& keyval);</PRE><P>The first member function removes the element of the controlledsequence pointed to by <CODE>where</CODE>.The second member function removes the elementsin the range <CODE>[first, last)</CODE>.Both return an iterator that designates the first element remainingbeyond any elements removed, or<CODE><A HREF="#multiset::end">end</A>()</CODE> if no such element exists.</P><P>The third member removesthe elements with sort keys in the range<CODE>[<A HREF="#multiset::lower_bound">lower_bound</A>(keyval),<A HREF="#multiset::upper_bound">upper_bound</A>(keyval)).</CODE>It returns the number of elements it removes.</P><P>The member functions never throw an exception.</P><H3><CODE><A NAME="multiset::find">multiset::find</A></CODE></H3><PRE>iterator <B>find</B>(const Key& keyval);const_iterator <B>find</B>(const Key& keyval) const;</PRE><P>The member function returns an iterator that designatesthe earliest element in the controlled sequence whose sort key has<A HREF="lib_stl.html#equivalent ordering">equivalent ordering</A>to <CODE>keyval</CODE>. If no such element exists,the function returns<CODE><A HREF="#multiset::end">end</A>()</CODE>.</P><H3><CODE><A NAME="multiset::get_allocator">multiset::get_allocator</A></CODE></H3><PRE>Alloc <B>get_allocator</B>() const;</PRE><P>The member function returns the stored<A HREF="memory.html#allocator object">allocator object</A>.</P><H3><CODE><A NAME="multiset::insert">multiset::insert</A></CODE></H3><PRE>iterator <B>insert</B>(const value_type& val);iterator <B>insert</B>(iterator where, const value_type& val);template<class InIt> void <B>insert</B>(InIt first, InIt last);</PRE><P>The first member function inserts the element <CODE>val</CODE>in the controlled sequence, then returnsthe iterator that designates the inserted element.The second member function returns <CODE>insert(val)</CODE>,using <CODE>where</CODE> as a starting place within the controlledsequence to search for the insertion point. (Insertion can occurin amortized constant time, instead of logarithmic time, if theinsertion point immediately precedes or follows <CODE>where</CODE>.)The third member functioninserts the sequence of element values,for each <CODE>it</CODE> in the range <CODE>[first, last)</CODE>,by calling <CODE>insert(*where)</CODE>.</P><P>If an exception is thrown during theinsertion of a single element, the container is left unalteredand the exception is rethrown.If an exception is thrown during theinsertion of multiple elements, the container is left in a stablebut unspecified state and the exception is rethrown.</P><H3><CODE><A NAME="multiset::iterator">multiset::iterator</A></CODE></H3><PRE>typedef T0 <B>iterator</B>;</PRE><P>The type describes an object that can serve as a bidirectionaliterator for the controlled sequence.It is described here as asynonym for the implementation-defined type <CODE>T0</CODE>.</P><H3><CODE><A NAME="multiset::key_comp">multiset::key_comp</A></CODE></H3><PRE>key_compare <B>key_comp</B>() const;</PRE><P>The member function returns the stored function object thatdetermines the order of elements in the controlled sequence.The stored object defines the member function:</P><PRE>bool operator(const Key& left, const Key& right);</PRE><P>which returns true if <CODE>left</CODE> strictlyprecedes <CODE>right</CODE> in the sort order.</P><H3><CODE><A NAME="multiset::key_compare">multiset::key_compare</A></CODE></H3><PRE>typedef Pr <B>key_compare</B>;</PRE><P>The type describes a function object that can compare twosort keys to determine the relative order of twoelements in the controlled sequence.</P><H3><CODE><A NAME="multiset::key_type">multiset::key_type</A></CODE></H3><PRE>typedef Key <B>key_type</B>;</PRE><P>The type describes the sort key object which constitutes eachelement of the controlled sequence.</P><H3><CODE><A NAME="multiset::lower_bound">multiset::lower_bound</A></CODE></H3><PRE>iterator <B>lower_bound</B>(const Key& keyval);const_iterator <B>lower_bound</B>(const Key& keyval) const;</PRE><P>The member function returns an iterator that designates theearliest element <CODE>X</CODE> in the controlled sequence for which<CODE><A HREF="#multiset::key_comp">key_comp</A>()(X, keyval)</CODE> isfalse.</P> If no such element exists, the function returns<CODE><A HREF="#multiset::end">end</A>()</CODE>.<H3><CODE><A NAME="multiset::multiset">multiset::multiset</A></CODE></H3><PRE><B>multiset</B>();explicit <B>multiset</B>(const Pr& pred);<B>multiset</B>(const Pr& pred, const Alloc& al);<B>multiset</B>(const multiset& right);template<class InIt> <B>multiset</B>(InIt first, InIt last);template<class InIt> <B>multiset</B>(InIt first, InIt last, const Pr& pred);template<class InIt> <B>multiset</B>(InIt first, InIt last, const Pr& pred, const Alloc& al);</PRE><P>All constructors store an<A HREF="memory.html#allocator object">allocator object</A> andinitialize the controlled sequence. The allocator object is the argument<CODE>al</CODE>, if present. For the copy constructor, it is<CODE>right.<A HREF="#multiset::get_allocator">get_allocator</A>()</CODE>.Otherwise, it is <CODE>Alloc()</CODE>.</P><P>All constructors also store a function object that can laterbe returned by calling<CODE><A HREF="#multiset::key_comp">key_comp</A>()</CODE>.The function object is the argument <CODE>pred</CODE>, if present.For the copy constructor, it is<CODE>right.<A HREF="#multiset::key_comp">key_comp</A>()</CODE>).Otherwise, it is <CODE>Pr()</CODE>.</P><P>The first three constructors specify anempty initial controlled sequence. The fourth constructor specifiesa copy of the sequence controlled by <CODE>right</CODE>.The last three constructors specify the sequence of element values<CODE>[first, last)</CODE>.</P><H3><CODE><A NAME="multiset::max_size">multiset::max_size</A></CODE></H3><PRE>size_type <B>max_size</B>() const;</PRE><P>The member function returns the length of the longest sequence thatthe object can control.</P><H3><CODE><A NAME="multiset::pointer">multiset::pointer</A></CODE></H3><PRE>typedef Alloc::pointer <B>pointer</B>;</PRE><P>The type describes an object that can serve as a pointer to anelement of the controlled sequence.</P><H3><CODE><A NAME="multiset::rbegin">multiset::rbegin</A></CODE></H3><PRE>reverse_iterator <B>rbegin</B>();const_reverse_iterator <B>rbegin</B>() const;</PRE><P>The member function returns a reverse bidirectionaliterator that points justbeyond the end of the controlled sequence. Hence, it designates thebeginning of the reverse sequence.</P><H3><CODE><A NAME="multiset::reference">multiset::reference</A></CODE></H3><PRE>typedef Alloc::reference <B>reference</B>;</PRE><P>The type describes an object that can serve as a reference to anelement of the controlled sequence.</P><H3><CODE><A NAME="multiset::rend">multiset::rend</A></CODE></H3><PRE>reverse_iterator <B>rend</B>();const_reverse_iterator <B>rend</B>() const;</PRE><P>The member function returns a reverse bidirectionaliterator that points at thefirst element of the sequence (or just beyond the end of an emptysequence). Hence, it designates the end of the reverse sequence.</P><H3><CODE><A NAME="multiset::reverse_iterator">multiset::reverse_iterator</A></CODE></H3><PRE>typedef reverse_iterator<iterator> <B>reverse_iterator</B>;</PRE><P>The type describes an object that can serve as a reversebidirectional iterator for the controlled sequence.</P><H3><CODE><A NAME="multiset::size">multiset::size</A></CODE></H3><PRE>size_type <B>size</B>() const;</PRE><P>The member function returns the length of the controlled sequence.</P><H3><CODE><A NAME="multiset::size_type">multiset::size_type</A></CODE></H3><PRE>typedef T2 <B>size_type</B>;</PRE><P>The unsigned integer type describes an object that can represent thelength of any controlled sequence. It is described here as asynonym for the implementation-defined type <CODE>T2</CODE>.</P><H3><CODE><A NAME="multiset::swap">multiset::swap</A></CODE></H3><PRE>void <B>swap</B>(multiset& right);</PRE><P>The member function swaps the controlled sequences between<CODE>*this</CODE> and <CODE>right</CODE>. If<CODE><A HREF="#multiset::get_allocator">get_allocator</A>()== right.get_allocator()</CODE>, it does so in constant time,it throws an exception only as a result of copying the storedfunction object of type <CODE>Pr</CODE>, and it invalidates no references, pointers,or iterators that designate elements in the two controlled sequences.Otherwise, it performs a number of element assignments and constructor callsproportional to the number of elements in the two controlled sequences.</P><H3><CODE><A NAME="multiset::upper_bound">multiset::upper_bound</A></CODE></H3><PRE>iterator <B>upper_bound</B>(const Key& keyval)const_iterator <B>upper_bound</B>(const Key& keyval) const;</PRE><P>The member function returns an iterator that designates theearliest element <CODE>X</CODE> in the controlled sequence for which<CODE><A HREF="#multiset::key_comp">key_comp</A>()(keyval, X)</CODE> istrue.</P> If no such element exists, the function returns<CODE><A HREF="#multiset::end">end</A>()</CODE>.<H3><CODE><A NAME="multiset::value_comp">multiset::value_comp</A></CODE></H3><PRE>value_compare <B>value_comp</B>() const;</PRE><P>The member function returns a function object thatdetermines the order of elements in the controlled sequence.</P><H3><CODE><A NAME="multiset::value_compare">multiset::value_compare</A></CODE></H3><PRE>typedef Pr <B>value_compare</B>;</PRE><P>The type describes a function object that can compare twoelements as sort keys to determine their relative orderin the controlled sequence.</P><H3><CODE><A NAME="multiset::value_type">multiset::value_type</A></CODE></H3><PRE>typedef Key <B>value_type</B>;</PRE><P>The type describes an element of the controlled sequence.</P><H2><A NAME="operator!="><CODE>operator!=</CODE></A></H2><PRE>template<class Key, class Pr, class Alloc> bool <B>operator!=</B>( const set <Key, Pr, Alloc>& left, const set <Key, Pr, Alloc>& right);template<class Key, class Pr, class Alloc> bool <B>operator!=</B>( const multiset <Key, Pr, Alloc>& left, const multiset <Key, Pr, Alloc>& right);</PRE><P>The template function returns <CODE>!(left == right)</CODE>.</P><H2><A NAME="operator=="><CODE>operator==</CODE></A></H2><PRE>template<class Key, class Pr, class Alloc> bool <B>operator==</B>( const set <Key, Pr, Alloc>& left, const set <Key, Pr, Alloc>& right);template<class Key, class Pr, class Alloc> bool <B>operator==</B>( const multiset <Key, Pr, Alloc>& left, const multiset <Key, Pr, Alloc>& right);</PRE><P>The first template function overloads <CODE>operator==</CODE>to compare two objects of template class<A HREF="#set"><CODE>set</CODE></A>.The second template function overloads <CODE>operator==</CODE>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -