std::forward_list<T,Allocator>::clear - cppreference.com

From cppreference.com

voidclear()noexcept;(since C++11)Erases all elements from the container.

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

Complexity

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

Example

Run this code

#include<iostream>#include<string_view>#include<forward_list>voidprint_info(std::string_viewrem,conststd::forward_list<int>&v){std::cout<<rem<<"{ ";for(constauto&value:v)std::cout<<value<<' ';std::cout<<"}\n";}intmain(){std::forward_list<int>container{1,2,3};print_info("Before clear: ",container);container.clear();print_info("After clear: ",container);}Output:

Before clear: { 1 2 3 } After clear: { } Defect reports

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

DR Applied to Behavior as published Correct behavior

LWG 2231

C++11 complexity guarantee was mistakenly omitted in C++11 complexity reaffirmed as linear See also