United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT
| CONTACT US | SEARCH
C++
fill (3C++std) - Tru64 UNIX
Standard C++ Library
Copyright 1996, Rogue Wave Software, Inc.

NAME

  fill, fill_n  - Initializes a range with a given value.

SYNOPSIS

  #include <algorithm>

  template <class ForwardIterator, class T>
   void fill(ForwardIterator first, ForwardIterator last,
             const T& value);

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

DESCRIPTION

  The fill and fill_n algorithms are used to assign a value to the elements
  in a sequence.  fill assigns the value to all the elements designated by
  iterators in the range [first, last).

  The fill_n algorithm assigns the value to all the elements designated by
  iterators in the range [first, first + n). fill_n assumes that there are at
  least n elements following first, unless first is an insert iterator.

COMPLEXITY

  fill makes exactly last - first assignments, and fill_n makes exactly n
  assignments.

EXAMPLE

  //
  // fill.cpp
  //
   #include <algorithm>
   #include <vector>
   #include <iostream.h>

  int main()
   {
    int d1[4] = {1,2,3,4};
     //
     // Set up two vectors
     //
    vector<int> v1(d1,d1 + 4), v2(d1,d1 + 4);
     //
     // Set up one empty vector
     //
    vector<int> v3;
     //
     // Fill all of v1 with 9
     //
     fill(v1.begin(),v1.end(),9);

     //
     // Fill first 3 of v2 with 7
     //
     fill_n(v2.begin(),3,7);

     //
     // Use insert iterator to fill v3 with 5 11's
     //
     fill_n(back_inserter(v3),5,11);
     //
     // Copy all three to cout
     //
    ostream_iterator<int,char> out(cout," ");
    copy(v1.begin(),v1.end(),out);
    cout << endl;
    copy(v2.begin(),v2.end(),out);
    cout << endl;
    copy(v3.begin(),v3.end(),out);
    cout << endl;
     //
     // Fill cout with 3 5's
     //
     fill_n(ostream_iterator<int,char>(cout," "),3,5);
    cout << endl;

    return 0;
   }

  Output :
  9 9 9 9
  7 7 7 4
  11 11 11 11 11
  5 5 5

WARNINGS

  If your compiler does not support default template parameters then you need
  to always supply the Allocator template argument.  For instance you'll have
  to write:

  vector<int,allocator<int> >

  instead of:

  vector<int>

STANDARDS CONFORMANCE

  ANSI X3J16/ISO WG21 Joint C++ Committee
  

1.800.AT.COMPAQ

privacy and legal statement