cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : STL Containers : multimap : multimap::count
  Search:
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forums
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
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)

Home page | Privacy policy
© cplusplus.com, 2000-2008 - All rights reserved - v2.2
Spotted an error? contact us