std::experimental::ranges:: DerivedFrom
|
template
<
class
T,
class
U
>
concept
bool
DerivedFrom
=
|
(ranges TS) | |
当且仅当
U
是类类型且为
T
本身或是
T
的公开无歧义基类时,概念
DerivedFrom
<
T, U
>
得到满足。
尽管在上述描述中使用了
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)
|
检查一个类型是否能转换为另一个类型
(类模板) |