Spec-Zone.ru › C++

std::type_order

Определён в заголовочном файле <compare>
template< class T, class U >
struct type_order;
(начиная с C++26)

Реализует определяемый реализацией полный порядок для всех типов.

Предоставляет константу-член value, равную std::strong_ordering::less, если T предшествует U в этом определяемом реализацией полном порядке, std::strong_ordering::greater, если U предшествует T, и std::strong_ordering::equal, если они имеют одинаковый тип.

Этот порядок не обязательно согласован с порядком, задаваемым std::type_info::before.

Аргументы шаблона T и U могут быть неполными типами.

Если программа добавляет специализации для std::type_order или std::type_order_v, программа некорректна.

Вспомогательный шаблон переменной

template< class T, class U >
constexpr std::strong_ordering type_order_v = type_order<T, U>::value;
(начиная с C++26)

Константы-члены

value
[статическая]
значение типа std::strong_ordering, описанное выше
(общедоступная статическая константа-член)

Функции-члены

operator std::strong_ordering
преобразует объект в std::strong_ordering, возвращает value
(общедоступная функция-член)
operator()
возвращает value
(общедоступная функция-член)

Типы-члены

Тип Определение
value_type std::strong_ordering

Примечания

Макрос проверки поддержки возможностей Значение Стандарт Возможность
__cpp_lib_type_order 202506L (C++26) std::type_order, std::type_order_v

Пример

См. также

strong_ordering
(C++20)
тип результата трёхстороннего сравнения, поддерживающий все 6 операторов и допускающий подстановку
(класс)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/compare/type_order

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API