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

NAME
     std::unordered_map::clear - std::unordered_map::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_map>

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

      int main()
      {
	  std::unordered_map<int, char> container{{1, 'x'}, {2, 'y'}, {3, 'z'}};
	  print_info("Before clear: ", container);
	  container.clear();
	  print_info("After clear: ", container);
      }

Possible output:
      Before clear: { [1]:x [2]:y [3]:z }
      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::unordered_map::clear(3)

home | help