std::experimental::ranges::DerivedFrom
Von cppreference.com
< cpp | experimental | ranges
| Definiert in 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 oder eine öffentliche und eindeutige Basisklasse von T ist.
Trotz der Verwendung von std::is_base_of und std::is_convertible in seiner Beschreibung oben, ist DerivedFrom nicht verpflichtet, diese in seiner Implementierung zu verwenden. Daher muss kein Unterordnungsverhältnis 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.
[bearbeiten] Siehe auch
| (C++11) |
prüft, ob ein Typ eine Basisklasse des anderen Typs ist (Klassenvorlage) |
| (C++11)(C++20) |
prüft, ob ein Typ in den anderen Typ konvertierbar ist (Klassenvorlage) |