名前空間
変種
操作

std::experimental::ranges::DerivedFrom

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

concept bool DerivedFrom =
    std::is_base_of<U, T>::value &&

    std::is_convertible<std::remove_cv_t<T>*, std::remove_cv_t<U>*>::value;
(ranges TS)

concept DerivedFrom<T, U> は、UT 自身であるか、または T の公開かつ曖昧でない基底クラスである場合にのみ満たされます。

上記の記述で std::is_base_of および std::is_convertible が使用されているにもかかわらず、DerivedFrom の実装でそれらを使用する必要はありません。したがって、DerivedFrom<T, U>std::is_base_of<U,T>::value または std::is_convertible<std::remove_cv_t<T>*, std::remove_cv_t<U>*>::value の間に包含関係が存在する必要はありません。

[編集] 関連項目

ある型が他の型の基底であるかをチェックする
(クラステンプレート) [編集]
ある型が他の型に変換可能であるかをチェックする
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)