随笔 - 46  文章 - 39  trackbacks - 0
<2012年3月>
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(2)

随笔分类

随笔档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

前向容器(Forward Container)

容器
类目:容器

描述

前向容器中的元素是按一定的顺序排序的:这个顺序不会因为迭代而自动改变。一定的顺序要求允许定义相等的元素(如果容器中的元素是可以比较相等的Equality Comparable)和字典序(如果容器中的元素类型是可以比较小于的 LessThen Comparable)。

前向容器中的迭代器满足前向迭代器的要求:因此,前向容器支持多通道算法,并允许同一个容器可以同时拥有多个激活的迭代器。

完善(Refinement of)

Container,EqualityComparable,LessThanComparable

相关类型

除了容器总定义的,没有其他额外的类型。然而,迭代器类型的要求加强:迭代器类型必须是前向迭代器模式。

标记法

X 是一个前向容器模式的类型
a,b 类型X的对象
T 类型X的值

定义

有效表达式

除了容器中定义的表达式外,EqualityComparable,和LessThanComparable,下面的表达式必须是有效的。
名字                        表达式        类型要求                返回类型
等式(Equality)              a == b        T是EqualityComparable   可转换成bool
不等式(Inequality)          a != b        T是EqualityComparable   可转换成bool
小于(Less)                  a < b         T是LessThanComparable   可转换成bool
大于(Greater)               a > b         T是LessThanComparable   可转换成bool
小于或等于(Less or equal)   a <= b        T是LessThanComparable   可转换成bool
大于或等于(Greater or equal)a >= b        T是LessThanComparable   可转换成bool

表达式语义

一个表达式的语义只有在这种情况下定义,当它没有定义在Container, EqualityComparable, 或者LessThanComparable,或者有额外的信息。
名字                 表达式         前提  语义                                                                         后置
等式(Equality)       a == b               如果a.size() == b.size()而且a中的每个元素都等于b中的对应的元素,那么返回true。否则返回false。
小于(Less)           a < b                相当于lexicographical_compare(a,b)

复杂性担保

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

不变

顺序 两个不同的迭代器迭代一个前向容器的,都是以同样的顺序访问它的元素,提供一个没有干预性的操作。

模型

vector
list
slist
deque
set
hash_set
map
hash_map
multiset
hash_multiset
multimap
hash_multimap

注释

参见

iterator overview, Forward Iterator, Sequence
posted on 2012-03-19 12:10 canaan 阅读(1110) 评论(0)  编辑 收藏 引用 所属分类: 外文翻译

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理