std::partial_order
От ru.cppreference.net
| Определён в заголовке <compare>
|
||
inline namespace /* unspecified */ {
inline constexpr /* unspecified */ partial_order = /* unspecified */;
}
|
(начиная с C++20) | |
| Сигнатура вызова |
||
template< class T, class U >
requires /* see below */
constexpr std::partial_ordering
partial_order( T&& t, U&& u ) noexcept(/* see below */);
|
||
Сравнивает два значения с помощью трёхстороннего сравнения и возвращает результат типа std::partial_ordering.
Пусть t и u — выражения, а T и U обозначают decltype((t)) и decltype((u)) соответственно. std::partial_order(t, u) является эквивалентным выражению:
- Если
std::is_same_v<std::decay_t<T>, std::decay_t<U>>являетсяtrue:std::partial_ordering(partial_order(t, u)), если это корректное выражение, в котором разрешение перегрузки выполняется в контексте, не содержащем объявленияstd::partial_order,- иначе,
std::partial_ordering(std::compare_three_way()(t, u)), если оно корректно, - иначе,
std::partial_ordering(std::weak_order(t, u)), если оно корректно.
- Во всех остальных случаях выражение некорректно, что может привести к ошибке подстановки при его появлении в непосредственном контексте инстанцирования шаблона.
Объекты точек кастомизации
Имя
std::partial_order
обозначает
объект точки кастомизации
, который является константным
функциональным объектом
литерального
типа
semiregular
класса. Для подробностей см.
CustomizationPointObject
.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++20)
|
тип результата трёхстороннего сравнения, который поддерживает все 6 операторов, не является заменяемым и допускает несравнимые значения
(класс) |
|
(C++20)
|
выполняет трёхстороннее сравнение и производит результат типа
std::strong_ordering
(объект точки настройки) |
|
(C++20)
|
выполняет трёхстороннее сравнение и производит результат типа
std::weak_ordering
(объект точки настройки) |
|
(C++20)
|
выполняет трёхстороннее сравнение и производит результат типа
std::partial_ordering
, даже если
operator
<=>
недоступен
(объект точки настройки) |