template <class T>
struct is_nothrow_move_assignable : public true_type-or-false_type {};
Наследники:Если<T>является (возможно, cv-квалифицированным) типом с назначением-оператором без перемещения или типом без назначения-оператора с перемещением, но с не бросанием-оператором, то наследуется отtrue_type, в противном случае наследуется отfalse_type. Тип<T>должен быть полным.
Иными словами, наследуется отtrue_typeтолько в том случае, если выражение<variable1=std::move(variable2)>не бросит<variable1>и<variable2>являются переменными типа<T>.
Совместимость компилятора:Если компилятор не поддерживает частичную специализацию шаблонов классов, то этот шаблон нельзя использовать с типами функций.
Без некоторой помощи компилятора (C++11)<is_nothrow_move_assignable>никогда не сообщит о том, что класс или структура имеет оператор назначения без броска; это всегда безопасно, если возможно, неоптимально. В настоящее время (июнь 2015 года) MSVC-12.0, Clang и GCC 4.7 имеют необходимую поддержку компилятора, чтобы эта черта «просто работала».
Заголовок:<#include
       <boost/type_traits/is_nothrow_move_assignable.hpp>>или<#include<boost/type_traits.hpp>>