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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::fill - std::fill

Synopsis
	  Defined in header <algorithm>
	  template<	   class	ForwardIt,	 class	     T	     >
       (until C++20)
	  void fill( ForwardIt first, ForwardIt	last, const T& value );
	  template< class ForwardIt, class T >
	  constexpr void fill( ForwardIt first,	ForwardIt last,	const  T&  (1)
       (since C++20)
	  value	);
	  template< class ExecutionPolicy, class ForwardIt, class T >
	  void	  fill(	   ExecutionPolicy&&	policy,	   ForwardIt	first,
       (2) (since C++17)
	  ForwardIt last, const	T& value );

	  1) Assigns the given value to	the  elements  in  the	range  [first,
       last).
	  2) Same as (1), but executed according to policy. This overload does
       not participate
	  in overload resolution unless
	  std::is_execution_policy_v<std::decay_t<ExecutionPolicy>>
	  (until C++20)
	  std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>>
	  (since C++20)	is true.

Parameters
	  first, last -	the range of elements to modify
	  value	      -	the value to be	assigned
	  policy       - the execution policy to use. See execution policy for
       details.

Type requirements
	  -
	  ForwardIt must meet the requirements of LegacyForwardIterator.

Return value
	  (none)

Complexity
	  Exactly last - first assignments.

Exceptions
	  The overload with a template parameter named ExecutionPolicy reports
       errors as
	  follows:

	    * If execution of a	function invoked  as  part  of	the  algorithm
       throws an exception
	      and ExecutionPolicy is one of the	standard policies, std::termi-
       nate is called.
	      For  any	other ExecutionPolicy, the behavior is implementation-
       defined.
	    * If the algorithm fails to	 allocate  memory,  std::bad_alloc  is
       thrown.

Possible implementation
	  template< class ForwardIt, class T >
	  void fill(ForwardIt first, ForwardIt last, const T& value)
	  {
	      for (; first != last; ++first) {
		  *first = value;
	      }
	  }

Example
	  The  following code uses fill() to set all of	the elements of	a vec-
       tor of ints to -1:

       // Run this code

	#include <algorithm>
	#include <vector>
	#include <iostream>

	int main()
	{
	    std::vector<int> v{0, 1, 2,	3, 4, 5, 6, 7, 8, 9};

	    std::fill(v.begin(), v.end(), -1);

	    for	(auto elem : v)	{
		std::cout << elem << " ";
	    }
	    std::cout << "\n";
	}

Output:
	-1 -1 -1 -1 -1 -1 -1 -1	-1 -1

See also
	  fill_n       copy-assigns the	given value to N elements in a range
		       (function template)
	  copy	       copies a	range of elements to a new location
	  copy_if      (function template)
	  (C++11)
		       assigns the results of  successive  function  calls  to
       every element in	a
	  generate     range
		       (function template)
		       applies	a function to a	range of elements, storing re-
       sults in	a
	  transform    destination range
		       (function template)
	  ranges::fill assigns a range of elements a certain value
	  (C++20)      (niebloid)

http://cppreference.com		  2022.07.31			  std::fill(3)

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

home | help