BDE 4.14.0 Production release
|
#include <bsltf_moveonlyalloctesttype.h>
Public Member Functions | |
BSLMF_NESTED_TRAIT_DECLARATION (MoveOnlyAllocTestType, bsl::is_nothrow_move_constructible) | |
MoveOnlyAllocTestType (bslma::Allocator *basicAllocator=0) | |
MoveOnlyAllocTestType (int data, bslma::Allocator *basicAllocator=0) | |
MoveOnlyAllocTestType (bslmf::MovableRef< MoveOnlyAllocTestType > original) BSLS_KEYWORD_NOEXCEPT | |
MoveOnlyAllocTestType (bslmf::MovableRef< MoveOnlyAllocTestType > original, bslma::Allocator *basicAllocator) | |
~MoveOnlyAllocTestType () | |
Destroy this object. | |
MoveOnlyAllocTestType & | operator= (bslmf::MovableRef< MoveOnlyAllocTestType > rhs) |
void | setData (int value) |
Set the data attribute of this object to the specified value . | |
void | setMovedInto (MoveState::Enum value) |
Set the moved-into state of this object to the specified value . | |
int | data () const |
Return the value of the data attribute of this object. | |
bslma::Allocator * | allocator () const |
Return the allocator used by this object to supply memory. | |
MoveState::Enum | movedInto () const |
Return the move state of this object as target of a move operation. | |
MoveState::Enum | movedFrom () const |
Return the move state of this object as source of a move operation. | |
This unconstrained (value-semantic) attribute class that uses a bslma::Allocator
to supply memory and defines the type trait bslma::UsesBslmaAllocator
. This class is primarily provided to facilitate testing of templates by defining a simple type representative of user-defined types having an allocator. See the Attributes section under @DESCRIPTION in the component-level documentation for information on the class attributes.
|
explicit |
Create a MoveOnlyAllocTestType
object having the (default) attribute values:
Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
|
explicit |
Create a MoveOnlyAllocTestType
object having the specified data
attribute value. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
bsltf::MoveOnlyAllocTestType::MoveOnlyAllocTestType | ( | bslmf::MovableRef< MoveOnlyAllocTestType > | original | ) |
bsltf::MoveOnlyAllocTestType::MoveOnlyAllocTestType | ( | bslmf::MovableRef< MoveOnlyAllocTestType > | original, |
bslma::Allocator * | basicAllocator | ||
) |
Create a MoveAllocTestType
object having the same value as the specified original
object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used. After construction, this object will be in a movedInto
state, and original
will be in a movedFrom
state. No allocations shall occur (so no exception will be thrown) unless basicAllocator
is not the currently installed default allocator.
bsltf::MoveOnlyAllocTestType::~MoveOnlyAllocTestType | ( | ) |
|
inline |
bsltf::MoveOnlyAllocTestType::BSLMF_NESTED_TRAIT_DECLARATION | ( | MoveOnlyAllocTestType | , |
bsl::is_nothrow_move_constructible | |||
) |
|
inline |
|
inline |
|
inline |
MoveOnlyAllocTestType & bsltf::MoveOnlyAllocTestType::operator= | ( | bslmf::MovableRef< MoveOnlyAllocTestType > | rhs | ) |
Assign to this object the value of the specified rhs
object, and return a reference providing modifiable access to this object. If rhs
is a reference to this object, there are no other effects; otherwise, the object referenced by rhs
will be reset to a default constructed state, rhs
shall be in a movedFrom
state, and this object will be in a movedTo
state. No allocations shall occur (so no exception will be thrown) unless this object and rhs
have different allocators. Note that the moved-from state is specified, rather than "valid but unspecified", as this type is intended for verifying test drivers that want to ensure that moves occur correctly where expected.
void bsltf::MoveOnlyAllocTestType::setData | ( | int | value | ) |
|
inline |