template <class T>
struct has_nothrow_copy : public true_type-or-false_type
{};
template <class T>
struct has_nothrow_copy_constructor : public true_type-or-false_type
{};
Наследники:Если T является (возможно, cv-квалифицированным) типом с небросающей копией-конструктором, то наследуется отtrue_type, в противном случае наследуется отФальшивый тип. Тип<T
>должен быть полным.
Эти две черты являются синонимами друг для друга.
Совместимость компилятора:Либо требуется C++11<noexcept
>и<decltype
>, либо требуется некоторая (неопределенная) помощь компилятора. В настоящее время (июнь 2015 года) компиляторы более поздние, чем Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0 и Codegear, и все последние версии GCC имеют необходимый компиляторвнутренних элементов, чтобы гарантировать, что эта черта «просто работает». Вы можете проверить, доступна ли необходимая поддержка, проверив, является ли<defined(BOOST_HAS_NOTHROW_COPY)||(!defined(BOOST_NO_CXX11_DECLTYPE)
&&!defined(BOOST_NO_CXX11_NOEXCEPT))
>правдой.
Заголовок:<#include
<boost/type_traits/has_nothrow_copy.hpp>
>или<#include<boost/type_traits.hpp>
>