|
ALINK="#ff0000">
istream_iterator<T, Distance>
|
|
Category: iterators |
Component type: type |
Description
An istream_iterator is an Input Iterator that performs formatted
input of objects of type T from a particular istream. When end of
stream is reached, the istream_iterator takes on a special end of
stream value, which is a past-the-end iterator. Note that all of the
restrictions of an Input Iterator must be obeyed, including the
restrictions on the ordering of operator* and operator++
operations.
Example
Fill a vector with values read from standard input.
vector<int> V;
copy(istream_iterator<int>(cin), istream_iterator<int>(),
back_inserter(V));
Definition
Defined in the standard header iterator, and in the nonstandard
backward-compatibility header iterator.h.
Template parameters
Parameter
|
Description
|
Default
|
T
|
The istream_iterator's value type. Operator* returns a const T&.
|
|
Distance
|
The istream_iterator's distance type.
|
ptrdiff_t
|
Model of
Input Iterator
Type requirements
The value type T must be a type such that cin >> T is a
valid expression.
The value type T must be a model of Default Constructible.
The distance type must, as described in the
Input Iterator requirements, be a signed integral type.
Public base classes
None.
Members
Member
|
Where defined
|
Description
|
istream_iterator()
|
istream_iterator
|
See below.
|
istream_iterator(istream&)
|
istream_iterator
|
See below.
|
istream_iterator(const istream_iterator&)
|
Trivial Iterator
|
The copy constructor
|
istream_iterator& operator=(const istream_iterator&)
|
Trivial Iterator
|
The assignment operator
|
const T& operator*() const
|
Input Iterator
|
Returns the next object in the stream.
|
istream_iterator& operator++()
|
Input Iterator
|
Preincrement.
|
istream_iterator& operator++(int)
|
Input Iterator
|
Postincrement.
|
bool operator==(const istream_iterator&, const istream_iterator&)
|
Trivial iterator
|
The equality operator. This is a global function, not a member function.
|
input_iterator_tag iterator_category(const istream_iterator&)
|
iterator tags
|
Returns the iterator's category.
|
T* value_type(const istream_iterator&)
|
iterator tags
|
Returns the iterator's value type.
|
Distance* distance_type(const istream_iterator&)
|
iterator tags
|
Returns the iterator's distance type.
<
|
New members
These members are not defined
in the Input Iterator requirements,
but are specific to istream_iterator.
Function
|
Description
|
istream_iterator()
|
The default constructor: Constructs an end-of-stream iterator.
This is a past-the-end iterator, and it is useful when constructing
a "range".
|
istream_iterator(istream& s)
|
Creates an istream_iterator that reads values from the input
stream s. When s reaches end of stream, this iterator will
compare equal to an end-of-stream iterator created using the
default constructor.
|
Notes
See also
ostream_iterator, Input Iterator, Output Iterator.
Copyright ©
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
|