hash_set::emplace

Inserts an element constructed in place into a hash_set.

template<class ValTy>
    pair <iterator, bool> emplace(
        ValTy&& _Val
);

Parameters

Parameter

Description

_Val

The value of an element to be inserted into the hash_set Class unless the hash_set already contains that element or, more generally, an element whose key is equivalently ordered.

Return Value

The emplace member function returns a pair whose bool component returns true if an insertion was make and false if the hash_set already contained an element whose key had an equivalent value in the ordering, and whose iterator component returns the address where a new element was inserted or where the element was already located.

Remarks

In Visual C++ .NET 2003, members of the <hash_map> and <hash_set> header files are no longer in the std namespace, but rather have been moved into the stdext namespace. See The stdext Namespace for more information.

Example

// hash_set_emplace.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
#include <string>

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_set<string> hs3;
   string str1("a");

   hs3.emplace(move(str1));
   cout << "After the emplace insertion, hs3 contains "
      << *hs3.begin() << "." << endl;
}
After the emplace insertion, hs3 contains a.

Requirements

Header: <hash_set>

Namespace: stdext

See Also

Reference

hash_set Class

Standard Template Library

Other Resources

hash_set Members