std::experimental::ranges:: DerivedFrom
|
Definiert im Header
<experimental/ranges/concepts>
|
||
|
template
<
class
T,
class
U
>
concept
bool
DerivedFrom
=
|
(ranges TS) | |
Das Konzept
DerivedFrom
<
T, U
>
ist genau dann erfüllt, wenn
U
ein Klassentyp ist, der entweder
T
selbst oder eine öffentliche und eindeutige Basisklasse von
T
ist.
Trotz der Verwendung von
std::is_base_of
und
std::is_convertible
in der obigen Beschreibung,
ist
DerivedFrom
nicht verpflichtet, diese in seiner Implementierung zu verwenden. Daher muss keine Subsumptionsbeziehung zwischen
DerivedFrom
<
T, U
>
und
std::
is_base_of
<
U,T
>
::
value
oder
std::
is_convertible
<
std::
remove_cv_t
<
T
>
*
,
std::
remove_cv_t
<
U
>
*
>
::
value
bestehen.
Siehe auch
|
(C++11)
|
prüft, ob ein Typ eine Basis eines anderen Typs ist
(Klassentemplate) |
|
(C++11)
(C++20)
|
prüft, ob ein Typ in einen anderen Typ konvertiert werden kann
(Klassentemplate) |