std::experimental::ranges:: Relation
Defined in header
<experimental/ranges/concepts>
|
||
template
<
class
R,
class
T,
class
U
>
concept
bool
Relation
=
|
(1) | (ranges TS) |
The concept
Relation<R, T, U>
specifies that
R
defines a binary relation over the set of expressions whose type and value category are those encoded by either
T
or
U
.
Given
-
r
, an expression such that decltype ( ( r ) ) isR
, -
t
, an expression such that decltype ( ( t ) ) isT
, -
u
, an expression such that decltype ( ( u ) ) isU
,
and let
C
be
ranges::
common_reference_t
<
const
std::
remove_reference_t
<
T
>
&
,
const
std::
remove_reference_t
<
U
>
&
>
,
then
Relation<R, T, U>
is satisfied only if
- bool ( r ( t, u ) ) == bool ( r ( C ( t ) , C ( u ) ) ) and
- bool ( r ( u, t ) ) == bool ( r ( C ( u ) , C ( t ) ) ) .