std::experimental::ranges:: DerivedFrom
|
Определено в заголовочном файле
<experimental/ranges/concepts>
|
||
|
template
<
class
T,
class
U
>
concept
bool
DerivedFrom
=
|
(ranges 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)
|
проверяет, является ли тип базовым для другого типа
(class template) |
|
(C++11)
(C++20)
|
проверяет, может ли тип быть преобразован в другой тип
(class template) |