C++ именованные требования: LessThanComparable
Тип должен работать с оператором < и результат должен иметь стандартную семантику.
Требования
Тип T удовлетворяет LessThanComparable, если
Дано
-
a,b, иc, выражения типаTилиconst T.
Следующие выражения должны быть допустимы и иметь указанные эффекты.
| Выражение | Тип результата | Требования |
|---|---|---|
a < b |
неявное преобразование к bool | Устанавливает строгое слабое упорядочение с последующими свойствами:
|
Примечания
Для удовлетворения этого требования, типы, у которых нет встроенных операторов сравнения, должны предоставить пользовательский operator<.
Для типов, которые являются одновременно EqualityComparable и LessThanComparable, стандарт C++ различает
- Равенство, которое является значением выражения
a == bи - Эквивалентность, которое является значением выражения
!(a < b) && !(b < a).
См. также
| бинарный предикат, устанавливающий отношение упорядочения (именованное требование) |
|
|
(C++20) | определяет, что relation накладывает строгое слабое упорядочение (концепция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/LessThanComparable