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

NAME
     std::deque::clear - std::deque::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 iterators are also invalidated.

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

      void print_info(std::string_view rem, const std::deque<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::deque<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  2231  C++11      complexity guarantee was mistakenly     complexity
     reaffirmed as
			    omitted in C++11			    linear

See also
	erase erases elements
	      (public member function)

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

home | help