BDE 4.14.0 Production release
|
#include <bslmf_isnothrowmoveconstructible.h>
This struct
template implements a metafunction to determine whether the (template parameter) t_TYPE
has a no-throw move constructor. This struct
derives from bsl::true_type
if the t_TYPE
has a no-throw move constructor, and from bsl::false_type
otherwise. This metafunction has the same syntax as the is_nothrow_move_constructible
metafunction defined in the C++11 standard [meta.unary.prop]; on C++03 platforms, however, this metafunction can automatically determine the value for trivially copyable types (including scalar types), for reference types, and for class types associating with the bsl::is_nothrow_move_constructible
trait using the BSLMF_NESTED_TRAIT_DECLARATION
macro. To support other no-throw move constructible types, this template should be specialized to inherit from bsl::true_type
. Note that cv-qualified user defined types are rarely no-throw move constructible unless they are also trivially copyable, so there are no cv-qualified partial specializations of this trait.