| [/ |
| Copyright 2009 John Maddock. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |
| [section:is_virtual_base_of is_virtual_base_of] |
| template <class Base, class Derived> |
| struct is_virtual_base_of : public __tof {}; |
| |
| __inherit If Base is a virtual base class of type Derived then inherits from __true_type, |
| otherwise inherits from __false_type. |
| |
| Types `Base` and `Derived` must not be incomplete types. |
| |
| __std_ref 10. |
| |
| __header ` #include <boost/type_traits/is_virtual_base_of.hpp>` or ` #include <boost/type_traits.hpp>` |
| |
| __compat this trait also requires a working __is_base_of trait. |
| |
| __examples |
| |
| [:Given: ` class Base{}; class Derived : public virtual Base{};` ] |
| |
| [:`is_virtual_base_of<Base, Derived>` inherits from `__true_type`.] |
| |
| [:`is_virtual_base_of<Base, Derived>::type` is the type `__true_type`.] |
| |
| [:`is_virtual_base_of<Base, Derived>::value` is an integral constant |
| expression that evaluates to /true/.] |
| |
| [:`is_virtual_base_of<Base, Derived>::value` is an integral constant |
| expression that evaluates to /true/.] |
| |
| [:`is_virtual_base_of<T, U>::value_type` is the type `bool`.] |
| |
| [endsect] |
| |