Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::forward_list::resize(3)  C++ Standard Libary std::forward_list::resize(3)

NAME
       std::forward_list::resize - std::forward_list::resize

Synopsis
	  void	resize(	size_type count	);			    (1)	(since
       C++11)
	  void resize( size_type count,	const value_type& value	); (2)	(since
       C++11)

	  Resizes the container	to contain count elements.

	  If  the current size is greater than count, the container is reduced
       to its first
	  count	elements.

	  If the current size is less than count,

	  1) additional	default-inserted elements are appended
	  2) additional	copies of value	are appended.

Parameters
	  count		 -	    new	size of	the container
	  value		 -	    the	value to initialize the	 new  elements
       with

Type requirements
	  -
	  T  must  meet	 the requirements of DefaultInsertable in order	to use
       overload	(1).
	  -
	  T must meet the requirements of CopyInsertable in order to use over-
       load (2).

Return value
	  (none)

Complexity
	  Linear in the	difference between the current size and	 count.	 Addi-
       tional complexity
	  possible  due	 to  list  traversal  to  reach	 the  first element to
       erase/the end position
	  to insert

Notes
	  If value-initialization in overload (1) is undesirable, for example,
       if the elements
	  are of non-class type	and zeroing out	 is  not  needed,  it  can  be
       avoided by providing
	  a custom Allocator::construct.

Example
       // Run this code

	#include <iostream>
	#include <forward_list>
	int main()
	{
	    std::forward_list<int> c = {1, 2, 3};
	    std::cout << "The forward_list holds: ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(5);
	    std::cout << "After	resize up to 5:	";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(2);
	    std::cout << "After	resize down to 2: ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	    c.resize(6,	4);
	    std::cout << "After	resize up to 6 (initializer = 4): ";
	    for(const auto& el:	c) std::cout <<	el << '	';
	    std::cout << '\n';
	}

Output:
	The forward_list holds:	1 2 3
	After resize up	to 5: 1	2 3 0 0
	After resize down to 2:	1 2
	After resize up	to 6 (initializer = 4):	1 2 4 4	4 4

See also
	  insert_after inserts elements	after an element
	  (C++11)      (public member function)
	  erase_after  erases an element after an element
	  (C++11)      (public member function)

http://cppreference.com		  2022.07.31	  std::forward_list::resize(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::forward_list::resize&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help