std::experimental::ranges:: greater_equal
|
Определено в заголовочном файле
<experimental/ranges/functional>
|
||
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct greater_equal < void > ; |
(ranges TS) | |
Функциональный объект для выполнения сравнений. Основной шаблон вызывает
operator
<
для const lvalue типа
T
и инвертирует результат. Специализация
greater_equal<void>
выводит типы параметров функционального оператора вызова из аргументов (но не тип возвращаемого значения).
Все специализации
greater_equal
являются
Semiregular
.
Содержание |
Типы членов
| Тип члена | Определение |
is_transparent
(только для члена
greater_equal<void>
специализации)
|
/* неопределено */ |
Функции-члены
|
operator()
|
проверяет, является ли первый аргумент
больше
или
равен
второму
(public member function) |
std::experimental::ranges::greater_equal:: operator()
|
constexpr
bool
operator
(
)
(
const
T
&
x,
const
T
&
y
)
const
;
|
(1) |
(член только основного шаблона
greater_equal<T>
)
|
|
template
<
class
T,
class
U
>
requires StrictTotallyOrderedWith
<
T, U
>
||
|
(2) |
(член только специализации
greater_equal<void>
)
|
t
и
u
. Эквивалентно
return
!
ranges::
less
<>
{
}
(
std::
forward
<
T
>
(
t
)
,
std::
forward
<
U
>
(
u
)
)
;
.
Примечания
В отличие от
std::greater_equal
,
ranges::greater_equal
требует, чтобы все шесть операторов сравнения
<
,
<=
,
>
,
>=
,
==
и
!=
были валидными (через ограничения
StrictTotallyOrdered
и
StrictTotallyOrderedWith
) и полностью определяется через
ranges::less
. Однако реализация может свободно использовать
operator
>=
напрямую, поскольку эти концепции требуют согласованности результатов операторов сравнения.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
функциональный объект, реализующий
x
>=
y
(шаблон класса) |