Standard C++ Library Class Reference
Description
multimap <Key ,T, Compare, Allocator> provides fast access to stored values of type T which are
indexed by keys of type Key. The default operation for key comparison is the < operator. Unlike map,
multimap allows insertion of duplicate keys.
multimap provides bidirectional iterators which point to an instance of pair<const Key x, T y> where x
is the key and y is the stored value associated with that key. The definition of multimap provides a
typedef to this pair called value_type.
The types used for both the template parameters Key and T must provide the following (where T is the
type, t is a value of T and u is a const value of T):
Copy constructors - T(t) and T(u)
Destructor - t.~T()
Address of - &t and &u yielding T* and
const T* respectively
Assignment - t = a where a is a
(possibley const) value of T
The type used for the Compare template parameter must satisfy the requirements for binary functions.
Interface
template <class Key, class T, class Compare = less<Key>,
class Allocator = allocator>
class multimap {
public:
// types
typedef Key key_type;
typedef T mapped_type;
typedef pair<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<value_type, value_type, bool>
{
friend class multimap<Key, T, Comapare, Allocator>;
public :
bool operator() (const value_type&, const value_type&) const;