C++ 概念: LessThanComparable

来自cppreference.com
< cpp‎ | concept
 
 
 

类型必须能用 < 运算符且结果应拥有标准语义。

[编辑] 要求

类型 T 满足可比较小于 (LessThanComparable) ,若

给定

  • abcTconst T 类型表达式

下列表达式必须合法并拥有其指定的效应

表达式 返回值 要求
a < b 可隐式转换bool 建立有下列属性的严格弱序关系
  • 对于所有 a!(a < a)
  • a < b!(b < a)
  • a < bb < ca < c
  • 定义 equiv(a, b)!(a < b) && !(b < a) ,若 equiv(a, b)equiv(b, c) ,则 equiv(a, c)

[编辑] 注意

为满足此要求,无内建比较运算符的类型必须提供用户定义的 operator<

对于既可比较相等 (EqualityComparable) 又可比较小于 (LessThanComparable) 的类型, C++ 标准库在相等,即表达式 a == b 的值,和等价,即表达式 !(a < b) && !(b < a) 的值间做出区别。

[编辑] 参阅

建立顺序关系的二元谓词 (BinaryPredicate)
(概念)