template <class T>
struct has_virtual_destructor : public true_type-or-false_type
{};
Наследники:Если T является (возможно, cv-квалифицированным) типом с виртуальным деструктором, то наследуется отtrue_type, в противном случае наследуется отtrue_type.Фальшивый_тип.
Совместимость компиляторов:В настоящее время нет возможности портативно реализовать эту черту: версия по умолчанию всегда наследуется отfalse_typeи должна быть явно специализирована для типов с виртуальными деструкторами, если только используемый компилятор не имеет встроенных элементов, которые позволяют черте делать правильные вещи: В настоящее время (июнь 2015 года) компиляторы более поздние, чем Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, плюс Codegear и Clang, имеют необходимый компиляторвнутренних элементовдля обеспечения того, чтобы эта черта «просто работала». Вы также можете проверить, доступны ли необходимыевнутренности, проверив, определен ли макрос<BOOST_HAS_VIRTUAL_DESTRUCTOR
>.
C++ Стандартная ссылка:12.4.
Заголовок:<#include
<boost/type_traits/has_virtual_destructor.hpp>
>или<#include<boost/type_traits.hpp>
>