SGI

小于可比较

类别: 公用程序 组件类型: 概念

描述

如果一个类型是有序的,那么它就是 LessThanComparable:必须能够使用以下方法比较该类型的两个对象运算符<,并且运算符<必须是偏序。

细化

关联类型

符号

X 一个作为 LessThanComparable 模型的类型
x, y, z 类型为X

定义

考虑关系!(x < y) && !(y < x)。如果此关系是可传递的(也就是说,如果!(x < y) && !(y < x) && !(y < z) && !(z < y)意味着!(x < z) && !(z < x)),那么它满足等价关系的数学定义。在这种情况下,运算符<是一个严格弱序

如果运算符<是一个严格弱序,并且每个等价类只有一个元素,那么运算符<是一个全序

有效表达式

名称 表达式 类型要求 返回类型
小于 x < y   可转换为bool
大于 x > y   可转换为bool
小于或等于 x <= y   可转换为bool
大于或等于 x >= y   可转换为bool

表达式语义

名称 表达式 先决条件 语义 后置条件
小于 x < y xy<    
大于 x > y xy< 等效于y < x [1]  
小于或等于 x <= y xy< 等效于!(y < x) [1]  
大于或等于 x >= y xy< 等效于!(x < y) [1]  

复杂度保证

不变量

不可反射性 x < x必须为假。
反对称性 x < y意味着 !(y < x) [2]
传递性 x < yy < z意味着x < z [3]

模型

备注

[1] 只有运算符<是基础的;其他不等式运算符基本上是语法糖。

[2] 反对称性是一个定理,而不是公理:它来自不可反射性和传递性。

[3] 由于不可反射性和传递性,运算符<总是满足偏序的定义。严格弱序的定义更严格,全序的定义更严格。

另请参阅

EqualityComparable, StrictWeakOrdering
[Silicon Surf] [STL Home]
版权 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息