C++ Set Library - emplace_hint Function


Advertisements

Description

It returns an iterator to the newly inserted element.

Declaration

Following are the ways in which std::set::emplace_hint works in various C++ versions.

C++98

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

C++11

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

Return value

It returns an iterator to the newly inserted element.

Exceptions

If an exception is thrown, there are no changes in the container.

Time complexity

Depends on container size.

Example

The following example shows the usage of std::set::emplace_hint.

#include <iostream>
#include <set>
#include <string>

int main () {
   std::set<std::string> myset;
   auto it = myset.cbegin();

   myset.emplace_hint (it,"sairam");
   it = myset.emplace_hint (myset.cend(),"krishna");
   it = myset.emplace_hint (it,"prasad");
   it = myset.emplace_hint (it,"Mammahe");

   std::cout << "myset contains:";
   for (const std::string& x: myset)
      std::cout << ' ' << x;
   std::cout << '\n';

   return 0;
}

The above program will compile and execute properly.

myset contains: Mammahe krishna prasad sairam
set.htm
Advertisements