cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : STL Containers : multimap : count
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forum
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
STL Containers
bitset
deque
list
map
multimap
multiset
priority_queue
queue
set
stack
vector
multimap
comparison operators
multimap::multimap
multimap::~multimap
member functions:
· multimap::begin
· multimap::clear
· multimap::count
· multimap::empty
· multimap::end
· multimap::equal_range
· multimap::erase
· multimap::find
· multimap::get_allocator
· multimap::insert
· multimap::key_comp
· multimap::lower_bound
· multimap::max_size
· multimap::operator=
· multimap::rbegin
· multimap::rend
· multimap::size
· multimap::swap
· multimap::upper_bound
· multimap::value_comp

-

multimap::count public member function
size_type count ( cont key_type& x ) const;

Count elements with a specific key

Searches the container for an element with a key of x and returns the number of elements having that key.

Parameters

x
Key value to be searched for.
key_type is a member type defined in multimap containers as an alias of Key, which is the first template parameter and the type of the keys for the elements stored in the container.

Return value

The amount of elements in the container with a key value equivalent to x.

Member type size_type is an unsigned integral type.

Example

// multimap::count
#include <iostream>
#include <map>
using namespace std;

int main ()
{
  multimap<char,int> mymm;
  multimap<char,int>::iterator it;
  char c;

  mymm.insert(pair<char,int>('x',50));
  mymm.insert(pair<char,int>('y',100));
  mymm.insert(pair<char,int>('y',150));
  mymm.insert(pair<char,int>('y',200));
  mymm.insert(pair<char,int>('z',250));
  mymm.insert(pair<char,int>('z',300));

  for (c='x'; c<='z'; c++)
  {
    cout << "There are " << (int)mymm.count(c);
    cout << " elements with key " << c << ":";
    for (it=mymm.equal_range(c).first; it!=mymm.equal_range(c).second; ++it)
      cout << " " << (*it).second;
    cout << endl;
  }

  return 0;
}

Output:


There are 1 elements with key x: 50
There are 3 elements with key y: 100 150 200
There are 2 elements with key z: 250 300

Complexity

Logarithmic in size plus linear in the count.

See also

multimap::find Get iterator to element (public member function)
multimap::equal_range Get range of equal elements (public member function)
multimap::size Return container size (public member function)
multimap::lower_bound Return iterator to lower bound (public member function)
multimap::upper_bound Return iterator to upper bound (public member function)

© The C++ Resources Network, 2000-2007 - All rights reserved
Spotted an error? - contact us