cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : STL Algorithms : fill_n
 
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forum
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
STL Algorithms
algorithm:
· adjacent_find
· binary_search
· copy
· copy_backward
· count
· count_if
· equal
· equal_range
· fill
· fill_n
· find
· find_end
· find_first_of
· find_if
· for_each
· generate
· generate_n
· includes
· inplace_merge
· iter_swap
· lexicographical_compare
· lower_bound
· make_heap
· max
· max_element
· merge
· min
· min_element
· mismatch
· next_permutation
· nth_element
· partial_sort
· partial_sort_copy
· partition
· pop_heap
· prev_permutation
· push_heap
· random_shuffle
· remove
· remove_copy
· remove_copy_if
· remove_if
· replace
· replace_copy
· replace_copy_if
· replace_if
· reverse
· reverse_copy
· rotate
· rotate_copy
· search
· search_n
· set_difference
· set_intersection
· set_symmetric_difference
· set_union
· sort
· sort_heap
· stable_partition
· stable_sort
· swap
· swap_ranges
· transform
· unique
· unique_copy
· upper_bound

-

fill_n function template
template < class OutputIterator, class Size, class T >
  void fill_n ( OutputIterator first, Size n, const T& value );
<algorithm>

Fill sequence with value

Sets value to the first n elements in the sequence pointed by first.

The behavior of this function template is equivalent to:

template < class OutputIterator, class Size, class T >
  void fill_n ( OutputIterator first, Size n, const T& value )
{
  for (; n>0; --n)  *first++ = value;
}

Parameters

first
Output iterators to the initial positions in a sequence of at least n elements.
n
Number of elements to set value to.
Its type is an integral type or some other type convertible to it.
value
Value to be used to fill the range.

Return value

none

Example

// fill_n example
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main () {
  vector<int> myvector (8,10);        // myvector: 10 10 10 10 10 10 10 10

  fill_n (myvector.begin(),4,20);     // myvector: 20 20 20 20 10 10 10 10
  fill_n (myvector.begin()+3,3,33);   // myvector: 20 20 20 33 33 33 10 10

  cout << "myvector contains:";
  for (vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
    cout << " " << *it;

  cout << endl;
 
  return 0;
}

Output:

myvector contains: 20 20 20 33 33 33 10 10

Complexity

Linear: Performs n assignment operations.

See also

fill Fill range with value (function template)
generate_n Generate values for sequence with function (function template)
replace Replace value in range (function template)
for_each Apply function to range (template function)
© The C++ Resources Network, 2000-2007 - All rights reserved
Spotted an error? - contact us