|
BDE 4.39.x Production Release
|
#include <bslalg_nothrowmovablewrapper.h>
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).
Public Types | |
| typedef bsl::conditional< bslma::UsesBslmaAllocator< TYPE >::value, bsl::allocator< char >, DummyAllocator >::type | allocator_type |
| typedef TYPE | ValueType |
| 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 |
Return a reference offering const access to the wrapped object.