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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::forward_list::assign - std::forward_list::assign

Synopsis
	  void assign( size_type count,	const T& value ); (1) (since C++11)
	  template< class InputIt >			  (2) (since C++11)
	  void assign( InputIt first, InputIt last );
	  void assign( std::initializer_list<T>	ilist );  (3) (since C++11)

	  Replaces the contents	of the container.

	  1) Replaces the contents with	count copies of	value value
	  2)  Replaces	the contents with copies of those in the range [first,
       last). The
	  behavior is undefined	if either argument is an iterator into *this.

	  This overload	has the	same effect as overload	(1) if InputIt	is  an
       (until C++11)
	  integral type.
	  This	overload  participates	in overload resolution only if InputIt
       (since C++11)
	  satisfies LegacyInputIterator.

	  3) Replaces the contents with	the elements from the initializer list
       ilist.

	  All iterators, pointers and references to the	elements of  the  con-
       tainer are
	  invalidated.

Parameters
	  count	      -	the new	size of	the container
	  value	      -	the value to initialize	elements of the	container with
	  first, last -	the range to copy the elements from
	  ilist	      -	initializer list to copy the values from

Complexity
	  1) Linear in count
	  2) Linear in distance	between	first and last
	  3) Linear in ilist.size()

Example
	  The following	code uses assign to add	several	characters to a
	  std::forward_list<char>:

       // Run this code

	#include <forward_list>
	#include <iostream>
	#include <string>

	int main()
	{
	    std::forward_list<char> characters;

	    auto print_forward_list = [&](){
		for (char c : characters)
		    std::cout << c << '	';
		std::cout << '\n';
	    };

	    characters.assign(5, 'a');
	    print_forward_list();

	    const std::string extra(6, 'b');
	    characters.assign(extra.begin(), extra.end());
	    print_forward_list();

	    characters.assign({'C', '+', '+', '1', '1'});
	    print_forward_list();
	}

Output:
	a a a a	a
	b b b b	b b
	C + + 1	1

See also
	  constructor	constructs the forward_list
	  (C++11)	(public	member function)

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

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

home | help