SGI

input_iterator

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

描述

Input_iterator是迭代器的基本类:它的目的是一个迭代器,作为 输入迭代器 模型,其值类型和距离类型为TDistance,可通过继承来定义input_iterator [1]. Input_iterator完全为空:没有成员函数、成员变量或嵌套类型。它存在仅仅是为了简化函数的定义iterator_category, distance_typevalue_type.

示例

class my_input_iterator : public input_iterator<double> 
{
  ...
};
这声明了my_input_iterator作为 输入迭代器,其值类型为double且其距离类型为ptrdiff_t,如果Iter是类对象my_input_iterator,那么iterator_category(Iter)将返回input_iterator_tag(), value_type(Iter)将返回(double*) 0distance_type(Iter)将返回(ptrdiff_t*) 0.

定义

定义在标准头文件 iterator 和非标准后向兼容头文件 iterator.h 中。尽管这个类出现在标准初稿中,但它不再是 C++ 标准的一部分。为了保持向后兼容性,此实现中保留了它。

模板参数

参数 描述 默认值
T 迭代器值类型  
Distance 迭代器距离类型 ptrdiff_t

模型

可赋值

公共基类

类型要求

距离类型必须是有符号的整型。

公共基类

无。

成员

无。

新成员

无。

注释

[1] 不要求 输入迭代器 继承基本input_iterator。不过,对于每个 输入迭代器,都要求定义函数。iterator_category, distance_typevalue_type(或者,如果你使用iterator_traits机制,则iterator_traits对每个 输入迭代器 都进行适当的专门化。)由于这些函数都已针对基本对象input_iterator定义,因此确保针对新迭代器类定义函数的最简单方式是派生该类并input_iterator依赖于函数参数的派生到基本标准转换。

另请参阅

迭代器标记 概览,iterator_traits, iterator_category, value_type, distance_type, output_iterator, forward_iterator, bidirectional_iterator, random_access_iterator
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 TrademarkInformation