BDE 4.14.0 Production release
|
#include <bslalg_nothrowmovablewrapper.h>
Public Types | |
typedef bsl::conditional< bslma::UsesBslmaAllocator< TYPE >::value, bsl::allocator< char >, DummyAllocator >::type | allocator_type |
typedef TYPE | ValueType |
An object of this type wraps a value of the specified TYPE
, and provides no other functionality other than returning the wrapped object. The move constructor is guaranteed not to throw, even if the move constructor for TYPE
has no such guarantee. The user is thus asserting that the move constructor for the wrapped object will not throw, even if it is allowed to. Constraints: this class can be instantiated on object types only, i.e., not references, arrays, or function types (though function pointers are OK).
typedef bsl::conditional<bslma::UsesBslmaAllocator<TYPE>::value,bsl::allocator<char>,DummyAllocator>::type bslalg::NothrowMovableWrapper< TYPE >::allocator_type |
Type of allocator to use. If TYPE
is not allocator-aware, then this is a private dummy type that will disable use of any constructor that takes an allocator.
typedef TYPE bslalg::NothrowMovableWrapper< TYPE >::ValueType |
bslalg::NothrowMovableWrapper< TYPE >::BSLMF_NESTED_TRAIT_DECLARATION | ( | NothrowMovableWrapper< TYPE > | , |
bsl::is_nothrow_move_constructible | |||
) |
bslalg::NothrowMovableWrapper< TYPE >::BSLMF_NESTED_TRAIT_DECLARATION_IF | ( | NothrowMovableWrapper< TYPE > | , |
bslma::UsesBslmaAllocator | , | ||
bslma::UsesBslmaAllocator< TYPE >::value | |||
) |
bslalg::NothrowMovableWrapper< TYPE >::BSLMF_NESTED_TRAIT_DECLARATION_IF | ( | NothrowMovableWrapper< TYPE > | , |
bslmf::IsBitwiseMoveable | , | ||
bslmf::IsBitwiseMoveable< TYPE >::value | |||
) |
bslalg::NothrowMovableWrapper< TYPE >::BSLMF_NESTED_TRAIT_DECLARATION_IF | ( | NothrowMovableWrapper< TYPE > | , |
bslmf::UsesAllocatorArgT | , | ||
bslma::UsesBslmaAllocator< TYPE >::value | |||
) |
|
inline |
Return a reference offering modifiable access to the wrapped object.
|
inline |