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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::vector::assign - std::vector::assign

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

	  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. The past-the-end	iterator is also 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::vector<char>:

       // Run this code

	#include <vector>
	#include <iostream>
	#include <string>

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

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

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

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

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

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

See also
	  constructor	constructs the vector
			(public	member function)

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

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

home | help