BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslmf_isnothrowmoveconstructible

Macros

#define STD_IS_NOTHROW_MOVE_CONSTRUCTIBLE_VALUE(t_TYPE)
 

Detailed Description

Outline

Purpose

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

Classes

See also
bslmf_integralconstant, bslmf_nestedtraitdeclaration, 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.

Macro Definition Documentation

◆ STD_IS_NOTHROW_MOVE_CONSTRUCTIBLE_VALUE

#define STD_IS_NOTHROW_MOVE_CONSTRUCTIBLE_VALUE (   t_TYPE)
Value:
? false \
: ::std::is_nothrow_move_constructible<t_TYPE>::value)
Definition bslmf_isarray.h:168

Implementation Notes