Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
This API is obsolete. The alternative is unordered_set Class.
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