SGI

forward_iterator<T, Distance>

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

说明

Forward_iterator是迭代器基类:建议迭代器为 Forward Iterator 的模型,并且其值类型和距离类型为TDistance,可以通过继承 Forward Iterator 来定义forward_iterator<T, Distance> [1]. Forward_iterator完全为空:它没有任何成员函数、成员变量或嵌套类型。它单纯是为了简化定义函数iterator_category, distance_typevalue_type.

示例

class my_forward_iterator : public forward_iterator<double> 
{
  ...
};
此声明my_forward_iteratorForward Iterator,其值类型为double且其距离类型为ptrdiff_t。如果Iter是类对象my_forward_iterator,那么iterator_category(Iter)将返回forward_iterator_tag(), value_type(Iter)将返回(double*) 0distance_type(Iter)将返回(ptrdiff_t*) 0.

定义

在标准头 iterator 和非标准的向后兼容头 iterator.h 中定义。此类不再是 C++ 标准的一部分,尽管该类出现在早期标准草稿中。它因向后兼容而保留在此实现中。

模板参数

参数 说明 默认值
T 迭代器值类型  
Distance 迭代器距离类型 ptrdiff_t

模型

可赋值

公共基类

类型要求

距离类型必须为有符号整数类型。

公共基类

成员

新成员

注意

[1] 不需要 Forward Iterator 从基类继承forward_iterator。但是,需要为每个 Forward Iterator 定义函数iterator_category, distance_typevalue_type。(或者,如果您使用iterator_traits机制,则iterator_traits对每个 Forward Iterator 都进行适当的专门化。)由于这些函数是为基类定义的,因此确保为新类型定义函数的最简单方法是从forward_iterator派生该类forward_iterator并依靠函数参数的派生到基准标准转换。

另请参阅

Iterator Tags 概览,iterator_traits, iterator_category, value_type, distance_type, input_iterator, output_iterator, bidirectional_iterator, random_access_iterator
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息