Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Tests if one type is base of another.
template<class Base, class Derived>
struct is_base_of;
Parameters
Base
The base class to test for.Derived
The derived type to test for.
Remarks
An instance of the type predicate holds true if the type Base is a base class of the type Derived, otherwise it holds false.
Example
// std_tr1__type_traits__is_base_of.cpp
// compile with: /EHsc
#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
Requirements
Header: <type_traits>
Namespace: std