[#bsl-unordered_set-0d2d-erase-02] = xref:bsl.adoc[bsl]::xref:bsl/unordered_set-0d2d.adoc[unordered_set]::erase :relfileprefix: ../../ :mrdocs: `erase` overloads == Synopses Declared in `<bslstl_unorderedset.h>` Remove from this unordered set the `value_type` object at the specified `position`, and return an iterator referring to the element immediately following the removed element, or to the past‐the‐end position if the removed element was the last element in the sequence of elements maintained by this set. This method invalidates only iterators and references to the removed element and previously saved values of the `end()` iterator, and preserves the relative order of the elements not removed. The behavior is undefined unless `position` refers to a `value_type` object in this unordered set. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_set-0d2d/iterator.adoc[unordered_set<KEY, HASH, EQUAL, ALLOCATOR>::iterator] xref:bsl/unordered_set-0d2d/erase-0b.adoc[erase](xref:bsl/unordered_set-0d2d/const_iterator.adoc[const_iterator] position); ---- [.small]#xref:bsl/unordered_set-0d2d/erase-0b.adoc[_» more..._]# Remove from this set the `value_type` object that is equivalent to the specified `key`, if such an entry exists, and return 1; otherwise, if there is no `value_type` object that is equivalent to `key`, return 0 with no other effect. This method invalidates only iterators and references to the removed element and previously saved values of the `end()` iterator, and preserves the relative order of the elements not removed. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_set-0d2d/size_type.adoc[unordered_set<KEY, HASH, EQUAL, ALLOCATOR>::size_type] xref:bsl/unordered_set-0d2d/erase-0e.adoc[erase](xref:bsl/unordered_set-0d2d/key_type.adoc[key_type] const& key); ---- [.small]#xref:bsl/unordered_set-0d2d/erase-0e.adoc[_» more..._]# Same as the preceding overload, using a transparent key type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_KEY> xref:bsl/unordered_set-0d2d/size_type.adoc[size_type] xref:bsl/unordered_set-0d2d/erase-083.adoc[erase](t_KEY&& key) requires BloombergLP::bslmf::IsTransparentPredicate<HASH, t_KEY>::value && BloombergLP::bslmf::IsTransparentPredicate<EQUAL,t_KEY>::value && !is_convertible<BSLS_COMPILERFEATURES_FORWARD_REF(t_KEY), iterator>::value && !is_convertible<BSLS_COMPILERFEATURES_FORWARD_REF(t_KEY), const_iterator>::value; ---- [.small]#xref:bsl/unordered_set-0d2d/erase-083.adoc[_» more..._]# Remove from this set the `value_type` objects starting at the specified `first` position up to, but including the specified `last` position, and return `last`. This method invalidates only iterators and references to the removed element and previously saved values of the `end()` iterator, and preserves the relative order of the elements not removed. The behavior is undefined unless `first` and `last` either refer to elements in this set or are the `end` iterator, and the `first` position is at or before the `last` position in the sequence provided by this container. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_set-0d2d/iterator.adoc[unordered_set<KEY, HASH, EQUAL, ALLOCATOR>::iterator] xref:bsl/unordered_set-0d2d/erase-080.adoc[erase]( xref:bsl/unordered_set-0d2d/const_iterator.adoc[const_iterator] first, xref:bsl/unordered_set-0d2d/const_iterator.adoc[const_iterator] last); ---- [.small]#xref:bsl/unordered_set-0d2d/erase-080.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#