SGI

istream_iterator<T, Distance>

类别:迭代器 组件类型:类型

描述

一个istream_iterator是一个输入迭代器,用于对类型为T的对象执行格式化输入,输入来源为特定的istream。当到达文件末尾时,istream_iterator将采用一个特殊的文件末尾值,这是一个超出末尾的迭代器。请注意,必须遵守输入迭代器的所有限制,包括对operator*operator++操作的限制。

示例

用从标准输入读取的值填充一个vector
vector<int> V;
copy(istream_iterator<int>(cin), istream_iterator<int>(),
     back_inserter(V));   

定义

在标准头文件iterator中定义,并在非标准向后兼容头文件iterator.h中定义。

模板参数

参数 描述 默认值
T istream_iterator的值类型。Operator*返回一个const T&.  
Distance istream_iterator的距离类型。 ptrdiff_t

模型

输入迭代器

类型要求

值类型T必须是以下类型的类型:cin >> T是一个有效的表达式。

值类型T必须是默认可构造的模型。

输入迭代器要求中所述,距离类型必须是有符号整数类型。

公共基类

无。

成员

成员 定义位置 描述
istream_iterator() istream_iterator 见下文。
istream_iterator(istream&) istream_iterator 见下文。
istream_iterator(const istream_iterator&) 平凡迭代器 复制构造函数
istream_iterator& operator=(const istream_iterator&) 平凡迭代器 赋值运算符
const T& operator*() const 输入迭代器 返回流中的下一个对象。
istream_iterator& operator++() 输入迭代器 前置递增。
istream_iterator& operator++(int) 输入迭代器 后置递增。
bool operator==(const istream_iterator&, const istream_iterator&) 平凡迭代器 相等运算符。这是一个全局函数,而不是成员函数。
input_iterator_tag iterator_category(const istream_iterator&) 迭代器标签 返回迭代器的类别。
T* value_type(const istream_iterator&) 迭代器标签 返回迭代器的值类型。
Distance* distance_type(const istream_iterator&) 迭代器标签 返回迭代器的距离类型。<

新成员

这些成员未在输入迭代器要求中定义,但特定于istream_iterator.
函数 描述
istream_iterator() 默认构造函数:构造一个文件末尾迭代器。这是一个超出末尾的迭代器,在构造“范围”时很有用。
istream_iterator(istream& s) 创建一个istream_iterator从输入流s读取值的迭代器。当s到达文件末尾时,此迭代器将与使用默认构造函数创建的文件末尾迭代器相等。

注释

另请参阅

ostream_iterator输入迭代器输出迭代器
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息