名前空間
変種
操作

std::experimental::ranges::Relation

From cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
コンセプトライブラリ
中核言語のコンセプト
                              
オブジェクトのコンセプト
                              
                              
比較のコンセプト
呼び出し可能オブジェクトのコンセプト
                                        
Relation
                              
URNGコンセプト
 
template< class R, class T, class U >

concept bool Relation =
    Predicate<R, T, T> &&
    Predicate<R, U, U> &&
    CommonReference<
        const std::remove_reference_t<T>&,
        const std::remove_reference_t<U>&> &&
    Predicate<R,
        ranges::common_reference_t<
            const std::remove_reference_t<T>&,
            const std::remove_reference_t<U>&>,
        ranges::common_reference_t<
            const std::remove_reference_t<T>&,
            const std::remove_reference_t<U>&>> &&
    Predicate<R, T, U> &&

    Predicate<R, U, T>;
(1) (ranges TS)

コンセンプトRelation<R, T, U>は、RTまたはUによってエンコードされた型と値カテゴリを持つ式の集合に対する二項関係を定義することを示します。

以下を考えます。

  • rは、decltype((r))Rであるような式、
  • tは、decltype((t))Tであるような式、
  • uは、decltype((u))Uであるような式、

そして、Cranges::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))).
English 日本語 中文(简体) 中文(繁體)