SGI

前向容器

类别: 容器 组件类型: 概念

描述

前向容器是一个容器,其元素按确定顺序排列:排序不会在迭代之间自发改变。确定顺序的要求允许定义元素间的相等性(如果容器的元素类型是可相等比较的)和字典序(如果容器的元素类型是可小于比较的)。

前向容器中的迭代器满足前向迭代器的要求;因此,前向容器支持多遍算法,并允许同时存在多个指向同一容器的迭代器。

细化自

容器可相等比较的可小于比较的

关联类型

除了在容器中定义的类型之外,没有其他附加类型。但是,迭代器类型的要求被加强了:迭代器类型必须是前向迭代器的模型。

符号

X 前向容器模型的类型
a, b 类型为X
T X

定义

有效表达式

除了在容器可相等比较的可小于比较的中定义的表达式之外,以下表达式必须有效。
名称 表达式 类型要求 返回类型
相等 a == b T可相等比较的 可转换为bool
不相等 a != b T可相等比较的 可转换为bool
小于 a < b T可小于比较的 可转换为bool
大于 a > b T可小于比较的 可转换为bool
小于或等于 a <= b T可小于比较的 可转换为bool
大于或等于 a >= b T可小于比较的 可转换为bool

表达式语义

表达式的语义仅在未在容器可相等比较的可小于比较的中定义,或存在其他信息时定义。
名称 表达式 前提条件 语义 后置条件
相等 a == b   返回true如果a.size() == b.size()并且如果a的每个元素都与b的对应元素相等。否则返回false.  
小于 a < b   等价于lexicographical_compare(a,b)  

复杂度保证

相等和不相等操作与容器的大小呈线性关系。

不变式

排序 遍历前向容器的不同迭代将按相同的顺序访问其元素,前提是没有进行过任何中间的修改操作。

模型

注释

另请参阅

迭代器概述前向迭代器序列
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息