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 ) ) ) 。