C++ Map Library - emplace_hint() Function


Advertisements

Description

The C++ function std::multimap::emplace_hint() inserts a new element in a multimap using hint as a position for element.

Declaration

Following is the declaration for std::multimap::emplace_hint() function form std::map header.

C++11

template <class... Args>
iterator emplace_hint (const_iterator position, Args&&... args);

Parameters

  • position − Hint for the position to insert element.

  • args − Arguments forwarded to construct the new element.

Return value

Returns an iterator to the newly inserted element.

Exceptions

No effect on container if exception is thrown.

Time complexity

Logarithmic i.e. O(log n)

Example

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

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   multimap<char, int> m {
         {'b', 2},
         {'c', 3},
         {'d', 4},
               };

   m.emplace_hint(m.begin(), 'a', 1);
   m.emplace_hint(m.end(), 'e', 5);

   cout << "Multimap contains following elements" << endl;

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

   return 0;
}

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

Multimap contains following elements
a = 1
b = 2
c = 3
d = 4
e = 5
map.htm
Advertisements