std::experimental::ranges::DerivedFrom
< cpp | experimental | ranges
template < class T, class U > concept bool DerivedFrom = |
(范围 TS) | |
概念 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) |
检查是否能转换一个类型为另一类型 (类模板) |