It removes from the unordered_set container either a single element or a range of elements.
Following is the declaration for std::unordered_set::erase.
iterator erase ( const_iterator position );
position − It indicates about position of single element.
k − K is the value of element to be removed.
args − These arguments passed to the constructor.
It returns member type iterator is a forward iterator type.
Exception is thrown if any element comparison object throws exception.
Please note that invalid arguments cause undefined behavior.
constant time.
The following example shows the usage of std::unordered_set::erase.
#include <iostream> #include <string> #include <unordered_set> int main () { std::unordered_set<std::string> myset = {"USA","Canada","France","UK","Japan","Germany","Italy"}; myset.erase ( myset.begin() ); myset.erase ( "France" ); myset.erase ( myset.find("Japan"), myset.end() ); std::cout << "myset contains:"; for ( const std::string& x: myset ) std::cout << " " << x; std::cout << std::endl; return 0; }
Let us compile and run the above program, this will produce the following result −
myset contains: Canada UK Italy