Sdílet prostřednictvím


is_base_of – třída

Testuje, jestli je jeden typ základem jiného typu.

Syntaxe

template <class Base, class Derived>
struct is_base_of;

Parametry

Základna
Základní třída, pro která se má testovat.

Odvozený
Odvozený typ, pro který se má testovat.

Poznámky

Instance predikátu typu obsahuje hodnotu true, pokud je typ Base základní třídou typu Odvozený, jinak obsahuje hodnotu false.

Příklad

#include <type_traits>
#include <iostream>

struct base
    {
    int val;
    };

struct derived
    : public base
    {
    };

int main()
    {
    std::cout << "is_base_of<base, base> == " << std::boolalpha
        << std::is_base_of<base, base>::value << std::endl;
    std::cout << "is_base_of<base, derived> == " << std::boolalpha
        << std::is_base_of<base, derived>::value << std::endl;
    std::cout << "is_base_of<derived, base> == " << std::boolalpha
        << std::is_base_of<derived, base>::value << std::endl;

    return (0);
    }
is_base_of<base, base> == true
is_base_of<base, derived> == true
is_base_of<derived, base> == false

Požadavky

Header:<type_traits>

Namespace: std

Viz také

<type_traits>
is_convertible – třída