std::experimental::ranges::DerivedFrom
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/concepts> |
||
| template< class T, class U > concept bool DerivedFrom = |
(ranges TS) | |
concept DerivedFrom<T, U> は、U が T 自身であるか、または 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 の間に包含関係が存在する必要はありません。
[編集] 関連項目
| (C++11) |
ある型が他の型の基底であるかをチェックする (クラステンプレート) |
| (C++11)(C++20) |
ある型が他の型に変換可能であるかをチェックする (クラステンプレート) |