⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mul_8396.htm

📁 ARM编辑、编译软件
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><TITLE>multimap</TITLE><BODY>
<A HREF="ref.htm"><IMG SRC="images/banner.gif"></A>
<P><STRONG>Click on the banner to return to the Class Reference home page.</STRONG></P>
<P>&copy;Copyright 1996 Rogue Wave Software</P>
<H2>multimap</H2>
<HR><PRE>     Container</PRE><HR>
<A NAME="Summary"><H3>Summary</H3></A>
<P>An associative container providing access to non-key values using keys.  <B><I>multimap</B></I> keys are not required to be unique.  A <B><I>multimap</B></I> supports bidirectional iterators.</P>
<H3>Contents</H3>
<UL>
<A HREF="#Synopsis"><LI>Synopsis</LI></A>
<A HREF="#Description"><LI>Description</LI></A>
<A HREF="#Interface"><LI>Interface</LI></A>
<A HREF="#Constructors and Destructors"><LI>Constructors and Destructors</LI></A>
<A HREF="#Assignment Operator"><LI>Assignment Operator</LI></A>
<A HREF="#Allocator"><LI>Allocator</LI></A>
<A HREF="#Iterators"><LI>Iterators</LI></A>
<A HREF="#Member Functions"><LI>Member Functions</LI></A>
<A HREF="#Non-member Operators"><LI>Non-member Operators</LI></A>
<A HREF="#Example"><LI>Example</LI></A>
<A HREF="#Warnings"><LI>Warnings</LI></A>
<A HREF="#See Also"><LI>See Also</LI></A>
</UL>
<A NAME="Synopsis"><H3>Synopsis</H3></A>
<PRE>#include &#60;map></PRE>
<PRE>
template &#60;class Key, class T, class Compare = less&#60;Key>,
          class Allocator = allocator>
class <B>multimap</B> ;
</PRE>
<A NAME="Description"><H3>Description</H3></A>
<P><B><I>multimap &#60;Key ,T, Compare, Allocator></B></I> provides fast access to stored values of type <SAMP>T </SAMP>which are indexed by keys of type <SAMP>Key</SAMP>.  The default operation for key comparison is the <SAMP>&#60;</SAMP> operator.  Unlike <A HREF="map_8018.htm"><B><I>map</B></I></A>, <B><I>multimap</B></I> allows insertion of duplicate keys. </P>
<P><B><I>multimap</B></I> provides bidirectional iterators which point to  an instance of <SAMP>pair&#60;const Key x, T y></SAMP> where <SAMP>x</SAMP> is the key and <SAMP>y</SAMP> is the stored value associated with that key.   The  definition of <B><I>multimap</B></I> provides a <SAMP>typedef</SAMP> to this pair called <SAMP>value_type</SAMP>. </P>
<P>The types used for both the template parameters  <SAMP>Key</SAMP>  and <SAMP>T</SAMP> must provide the following (where <SAMP>T</SAMP> is the <SAMP>type</SAMP>, <SAMP>t</SAMP> is a value of <SAMP>T</SAMP> and <SAMP>u</SAMP> is a <SAMP>const</SAMP> <SAMP>value</SAMP> of <SAMP>T</SAMP>): </P>
<PRE>  Copy constructors -  T(t) and T(u)
  Destructor        -  t.~T()
  Address of        -  &#38;t and &#38;u yielding T* and
                       const T* respectively
  Assignment        -  t = a where a is a
                       (possibley const) value of T
</PRE><P>The type used for the <SAMP>Compare</SAMP> template parameter must satisfy the requirements for binary functions.</P>
<A NAME="Interface"><H3>Interface</H3></A>
<PRE>template &#60;class Key, class T, class Compare = less&#60;Key>,
          class Allocator = allocator>
 class multimap {

public:
// types
   typedef Key key_type;
   typedef T mapped_type;
   typedef pair&#60;const Key, T> value_type;
   typedef Compare key_compare;
   typedef Allocator allocator_type;
   typename reference;
   typename const_reference;
   typename iterator;
   typename const_iterator;
   typename size_type;
   typename difference_type;
   typename reverse_iterator;
   typename const_reverse_iterator;
 class value_compare
    : public binary_function&#60;value_type, value_type, bool> 
    {
     friend class multimap&#60;Key, T, Comapare, Allocator>;
     public :
       bool operator() (const value_type&#38;, const value_type&#38;) const;
    };
// Construct/Copy/Destroy
   explicit multimap (const Compare&#38; = Compare(), const Allocator&#38; = 
                      Allocator());
   template &#60;class InputIterator>
    multimap (InputIterator, InputIterator,
              const Compare&#38; = Compare(),
              const Allocator&#38; = Allocator());
   multimap (const multimap&#60;Key, T, Compare, Allocator>&#38;);
   ~multimap ();
   multimap&#60;Key, T, Compare, Allocator>&#38; operator=
       (const multimap&#60;Key, T, Compare, Allocator>&#38;);
// Iterators
   iterator begin ();
   const_iterator begin () const;
   iterator end ();
   const_iterator end () const;
   reverse_iterator rbegin ();
   const_reverse_iterator rbegin () const;
   reverse_iterator rend ();
   const_reverse_iterator rend () const;
// Capacity
   bool empty () const;
   size_type size () const;
   size_type max_size () const;
// Modifiers
   iterator insert (const value_type&#38;);
   iterator insert (iterator, const value_type&#38;);
   template &#60;class InputIterator>
    void insert (InputIterator, InputIterator);
   iterator erase (iterator);
   size_type erase (const key_type&#38;);
   iterator erase (iterator, iterator);
   void swap (multimap&#60;Key, T, Compare, Allocator>&#38;);
// Observers
   key_compare key_comp () const;
   value_compare value_comp () const;
// Multimap operations
   iterator find (const key_type&#38;);
   const_iterator find (const key_type&#38;) const;
   size_type count (const key_type&#38;) const;
   iterator lower_bound (const key_type&#38;);
   const_iterator lower_bound (const key_type&#38;) const;
   iterator upper_bound (const key_type&#38;);
   const_iterator upper_bound (const key_type&#38;) const;
   pair&#60;iterator, iterator> equal_range (const key_type&#38;);
   pair&#60;const_iterator, const_iterator> 
     equal_range (const key_type&#38;) const;
};
// Non-member Operators
template &#60;class Key, class T,class Compare, class Allocator>
 bool operator== (const multimap&#60;Key, T, Compare, Allocator>&#38;,
                  const multimap&#60;Key, T, Compare, Allocator>&#38;);
template &#60;class Key, class T, class Compare, class Allocator>
 bool operator&#60; (const multimap&#60;Key, T, Compare, Allocator>&#38;,
                 const multimap&#60;Key, T, Compare, Allocator>&#38;);
// Specialized Algorithms
template &#60;class Key, class T, class Compare, class Allocator>
 void swap (multimap&#60;Key, T, Compare, Allocator>&#38;,
            multimap&#60;Key, T, Compare, Allocator>&#38;;
</PRE>
<A NAME="Constructors and Destructors"><H3>Constructors and Destructors</H3></A>
<PRE>explicit <B>multimap</B> (const Compare&#38; comp = Compare(),
                   const Allocator&#38; alloc = Allocator());</PRE>
<UL><P>Default constructor.  Constructs an empty multimap that will use the optional relation <SAMP>comp</SAMP> to order keys and the allocator <SAMP>alloc</SAMP> for all storage management.</P>
</UL>
<PRE>template &#60;class InputIterator>
<B>multimap</B> (InputIterator first,
          InputIterator last,
          const Compare&#38; comp = Compare()
          const Allocator&#38; alloc = Allocator ());</PRE>
<UL><P>Constructs a multimap containing values in  the  range <SAMP>[first, last)</SAMP>.   Creation of the new multimap is only guaranteed to succeed if the iterators <SAMP>first</SAMP> and  <SAMP>last</SAMP> return values of type<SAMP> pair&#60;class Key, class T>.</SAMP></P>
</UL>
<PRE><B>multimap</B> (const multimap&#60;Key, T, Compare, Allocator>&#38; x);</PRE>
<UL><P>Copy constructor.  Creates a new multimap by copying all pairs of <SAMP>key</SAMP> and <SAMP>value</SAMP> from <SAMP>x</SAMP>.</P>
</UL>
<PRE><B>~multimap</B> ();</PRE>
<UL><P>The destructor.  Releases any allocated memory for this multimap.</P>
</UL>
<A NAME="Assignment Operator"><H3>Assignment Operator</H3></A>
<PRE>multimap&#60;Key, T, Compare, Allocator>&#38; 
<B>operator=</B> (const multimap&#60;Key, T, Compare, Allocator>&#38; x);</PRE>
<UL><P>Replaces the contents of <SAMP>*this</SAMP> with a copy of the multimap<SAMP> x</SAMP>.</P>
</UL>
<A NAME="Allocator"><H3>Allocator</H3></A>
<PRE>allocator_type <B>get_allocator </B>() const;</PRE>
<UL><P>Returns a copy of the allocator used by self for storage management.</P>
</UL>
<A NAME="Iterators"><H3>Iterators</H3></A>
<PRE>iterator <B>begin</B>() ;</PRE>
<UL><P>Returns a bidirectional <SAMP>iterator</SAMP> pointing to the first element  stored in the multimap.  "First" is defined by the multimap's comparison operator, <SAMP>Compare</SAMP>.</P>
</UL>
<PRE>const_iterator <B>begin</B>() const;</PRE>
<UL><P>Returns a<SAMP> const_iterator</SAMP> pointing to the first element stored in the multimap. "First" is defined by the multimap's comparison operator, <SAMP>Compare</SAMP>.</P>
</UL>
<PRE>iterator <B>end</B>() ;</PRE>
<UL><P>Returns a bidirectional <SAMP>iterator</SAMP> pointing to the last element  stored in the multimap, i.e. the off-the-end value.</P>
</UL>
<PRE>const_iterator <B>end</B>() const;</PRE>
<UL><P>Returns a <SAMP>const_iterator</SAMP> pointing to the last element stored in the multimap.</P>
</UL>
<PRE>reverse_iterator <B>rbegin</B>() ;</PRE>
<UL><P>Returns a <SAMP>reverse_iterator</SAMP> pointing to the first element stored in the multimap.  "First" is defined by the multimap's comparison operator, <SAMP>Compare</SAMP>.</P>
</UL>
<PRE>const_reverse_iterator <B>rbegin</B>() const;</PRE>
<UL><P>Returns a <SAMP>const_reverse_iterator</SAMP> pointing to the first element stored in the multimap.</P>
</UL>
<PRE>reverse_iterator <B>rend</B>() ;</PRE>
<UL><P>Returns a <SAMP>reverse_iterator</SAMP> pointing to the last element stored in the multimap, i.e., the off-the-end value.</P>
</UL>
<PRE>const_reverse_iterator <B>rend</B>() const;</PRE>
<UL><P>Returns a <SAMP>const_reverse_iterator</SAMP> pointing to the last element stored in the multimap.</P>
</UL>
<A NAME="Member Functions"><H3>Member Functions</H3></A>
<PRE>void
<B>clear</B> ();</PRE>
<UL><P>Erases all elements from the self.</P>
</UL>
<PRE>size_type 
<B>count</B> (const key_type&#38; x) const;</PRE>
<UL><P>Returns the number of elements in the multimap with the key value <SAMP>x</SAMP>.</P>
</UL>
<PRE>bool 
<B>empty</B>() const;</PRE>
<UL><P>Returns <SAMP>true</SAMP> if the multimap is empty, <SAMP>false</SAMP> otherwise.</P>
</UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -