Quick Links:

bal | bbl | bdl | bsl

Classes

Component bslmf_isnothrowmoveconstructible
[Package bslmf]

Provide metafunction to identify no-throw move-constructible types. More...

Classes

struct  bslmf::IsNothrowMoveConstructible_Impl< t_TYPE, class >
struct  bslmf::IsNothrowMoveConstructible_Impl< t_TYPE, BSLMF_VOIDTYPE(intt_TYPE::*)>
struct  bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE, BSLMF_VOIDTYPE(intt_TYPE::*)>
struct  bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE, BSLMF_VOIDTYPE(intt_TYPE::*)>
struct  bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE, BSLMF_VOIDTYPE(intt_TYPE::*)>
struct  bslmf::IsNothrowMoveConstructible_Impl< t_TYPE & >
struct  bslmf::IsNothrowMoveConstructible_Impl< t_TYPE[]>
struct  bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE[]>
struct  bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE[]>
struct  bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE[]>
struct  bslmf::IsNothrowMoveConstructible_Impl< t_TYPE[t_LEN]>
struct  bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE[t_LEN]>
struct  bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE[t_LEN]>
struct  bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE[t_LEN]>

Detailed Description

Outline
Purpose:
Provide metafunction to identify no-throw move-constructible types.
Classes:
bsl::is_nothrow_move_constructible type-traits metafunction
bsl::is_nothrow_move_constructible_v the metafunction's result value
See also:
Component bslmf_integralconstant, Component bslmf_nestedtraitdeclaration, Component bslmf_movableref
Description:
This component defines a metafunction, bsl::is_nothrow_move_constructible, and a variable template bsl::is_nothrow_move_constructible_v that represents the result value of the bsl::is_nothrow_move_constructible metafunction, which may be used to query whether a type has a constructor that can be called with a single rvalue that is known to not throw exceptions. Note that a C++11 compiler will automatically infer this trait for class types with a move constructor that is marked as noexcept.
bsl::is_nothrow_move_constructible meets the requirements of the is_nothrow_move_constructible template defined in the C++11 standard.
Note that the template variable is_nothrow_move_constructible_v is defined in the C++17 standard as an inline variable. If the current compiler supports the inline variable C++17 compiler feature, bsl::is_nothrow_move_constructible_v is defined as an 'inline constexpr bool' variable. Otherwise, if the compiler supports the variable templates C++14 compiler feature, bsl::is_nothrow_move_constructible_v is defined as a non-inline constexpr bool variable. See BSLS_COMPILERFEATURES_SUPPORT_INLINE_VARIABLES and BSLS_COMPILERFEATURES_SUPPORT_VARIABLE_TEMPLATES macros in the bsls_compilerfeatures component for details.