Metafunction to determine whether a type has a no‐throw move constructor.

Synopsis

Declared in <bslmf_isnothrowmoveconstructible.h>

template<class t_TYPE>
struct is_nothrow_move_constructible
    : /* implementation-defined */::type

Description

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.

Base Classes

Name

Description

/* implementation-defined */::type

Created with MrDocs