前向容器(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 阅读(1207)
评论(0) 编辑 收藏 引用 所属分类:
外文翻译