home | help
std::multiset::clear(3)        C++ Standard Libary	 std::multiset::clear(3)

NAME
     std::multiset::clear - std::multiset::clear

Synopsis
	void clear();  (noexcept since C++11)

	Erases	all elements from the container. After this call, size() returns
     zero.

	Invalidates any references, pointers, and iterators  referring	to  con-
     tained elements.
	Any past-the-end iterator remains valid.

Parameters
	(none)

Return value
	(none)

Complexity
	Linear in the size of the container, i.e., the number of elements.

Example
     // Run this code

      #include <iostream>
      #include <string_view>
      #include <set>

      void print_info(std::string_view rem, const std::multiset<int>& v)
      {
	  std::cout << rem << "{ ";
	  for (const auto& value : v)
	      std::cout << value << ' ';
	  std::cout << "}\n";
	  std::cout << "Size=" << v.size() << '\n';
      }

      int main()
      {
	  std::multiset<int> container{1, 2, 3};
	  print_info("Before clear: ", container);
	  container.clear();
	  print_info("After clear: ", container);
      }

Output:
      Before clear: { 1 2 3 }
      Size=3
      After clear: { }
      Size=0

       Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	  DR	Applied to	     Behavior as published		 Correct
     behavior
	LWG  224  C++98      the complexity was log(size()) + N, but N corrected
     to 'linear in
			   was not defined			     size()'

See also
	erase erases elements
	      (public member function)

http://cppreference.com 	   2024.06.10		 std::multiset::clear(3)

home | help