C++ flat_set::erase() Function



The std::flat_set::erase() function in C++, is used to remove the elements from a flat_set. This function ensures that the elements remain the sorted after removal, maintaining the container's unique, ordered structure.

This function provides multiple overloads; one for erasing elements by iterator, another for erasing elements by key and a range-based version. When an iterator is provided, it removes the specific element at that position. If a key is given, all matching elements are removed.

Syntax

Following is the syntax for std::flat_set::erase() function.

 iterator erase( iterator position ); or iterator erase( const_iterator pos ); or iterator erase( const_iterator first, const_iterator last ); 

Parameters

  • pos − It indicates the iterator to the element to remove.
  • first, last − It indicates the pair of iterators defining the range of elements to remove.

Return Value

This function returns the iterator following the last removed element.

Example 1

Let's look at the following example, where we are going to remove the specific elements from a flat_set.

 #include <iostream> #include <boost/container/flat_set.hpp> int main() { boost::container::flat_set < int > a = {12,23,34,45}; size_t x = a.erase(23); std::cout << "Elements after erasing: "; for (int y: a) { std::cout << y << " "; } std::cout << "\nNumber of elements removed: " << x << std::endl; return 0; } 

Output

Output of the above code is as follows −

 Elements after erasing: 12 34 45 Number of elements removed: 1 

Example 2

Consider the following example, where we are going to erase an element using an iterator.

 #include <iostream> #include <boost/container/flat_set.hpp> int main() { boost::container::flat_set < int > a = {2,4,6,8}; auto x = a.begin(); ++x; a.erase(x); std::cout << "Elements after erasing : "; for (int y: a) { std::cout << y << " "; } std::cout << std::endl; return 0; } 

Output

Following is the output of the above code −

 Elements after erasing : 2 6 8 
cpp_flat_set.htm
Advertisements