std::experimental::ranges:: Relation
|
Определено в заголовочном файле
<experimental/ranges/concepts>
|
||
|
template
<
class
R,
class
T,
class
U
>
concept
bool
Relation
=
|
(1) | (ranges TS) |
Концепт
Relation<R, T, U>
определяет, что
R
задаёт бинарное отношение над множеством выражений, тип и категория значения которых соответствуют закодированным либо в
T
, либо в
U
.
Дано
-
r, выражение, для которого decltype ( ( r ) ) являетсяR, -
t, выражение, для которого decltype ( ( t ) ) являетсяT, -
u, выражение, для которого decltype ( ( u ) ) являетсяU,
и пусть
C
будет
ranges::
common_reference_t
<
const
std::
remove_reference_t
<
T
>
&
,
const
std::
remove_reference_t
<
U
>
&
>
,
тогда
Relation<R, T, U>
выполняется только если
- bool ( r ( t, u ) ) == bool ( r ( C ( t ) , C ( u ) ) ) и
- bool ( r ( u, t ) ) == bool ( r ( C ( u ) , C ( t ) ) ) .