C++ Unordered_multimap Library - unordered_multimap() Function


Advertisements

Description

The C++ function std::unordered_multimap::unordered_multimap() constructs an unordered_multimap from initialize list.

Declaration

Following is the declaration for std::unordered_multimap::unordered_multimap() function form std::unordered_map() header.

C++11

unordered_multimap(initializer_list<value_type> il,
                   size_type n = /* implementation defined */,
                   const hasher& hf = hasher(),
                   const key_equal& eql = key_equal(),
                   const allocator_type& alloc = allocator_type());

Parameters

  • il − Initialize list.

  • n − Maximum number of initial buckets.

  • hf − Hash function to use.

  • eql − Comparision function object that returns true if provided two container objects are to be considered equal.

  • alloc − Allocator to use for all memory allocations of this container.

Return value

Constructor never returns value.

Time complexity

Linear i.e. O(n) in average case.

Quadratic i.e. O(n2) in worst case.

Example

The following example shows the usage of std::unordered_multimap::unordered_multimap() function.

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_multimap<char, int> umm {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5}
            };

   cout << "Unordered multimap contains following elements" << endl;

   for (auto it = umm.begin(); it != umm.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Unordered multimap contains following elements
e = 5
a = 1
b = 2
c = 3
d = 4
unordered_map.htm
Advertisements