18 Concepts library [concepts]

18.4 Language-related concepts [concepts.lang]

18.4.3 Concept derived_from [concept.derived]

template<class Derived, class Base> concept derived_from = is_base_of_v<Base, Derived> && is_convertible_v<const volatile Derived*, const volatile Base*>;
[Note 1: 
derived_from<Derived, Base> is satisfied if and only if Derived is publicly and unambiguously derived from Base, or Derived and Base are the same class type ignoring cv-qualifiers.
— end note]