home | help
std::unorde...iset::clear(3)   C++ Standard Libary  std::unorde...iset::clear(3)

NAME
     std::unordered_multiset::clear - std::unordered_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.
	May also invalidate past-the-end iterators.

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 <unordered_set>

      void  print_info(std::string_view rem, const std::unordered_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::unordered_multiset<int> container{1, 2, 3};
	  print_info("Before clear: ", container);
	  container.clear();
	  print_info("After clear: ", container);
      }

Possible 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 be-
     havior
			    for unordered associative
	LWG  2550  C++11       containers, unclear if complexity  clarified that
     it's linear in
			    is linear in the number of	       the number of el-
     ements
			    elements or buckets

See also
	erase erases elements
	      (public member function)

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

home | help