BloombergLP::bsltf::MoveOnlyAllocTestType

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.

Synopsis

Declared in <bsltf_moveonlyalloctesttype.h>

class MoveOnlyAllocTestType;

Member Functions

NameDescription
MoveOnlyAllocTestType [constructor]Constructors
~MoveOnlyAllocTestType [destructor]Destroy this object.
operator= 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.
allocator Return the allocator used by this object to supply memory.
data Return the value of the data attribute of this object.
movedFrom Return the move state of this object as source of a move operation.
movedInto Return the move state of this object as target of a move operation.
setData Set the data attribute of this object to the specified value.
setMovedInto Set the moved-into state of this object to the specified value.

Non-Member Functions

NameDescription
debugprintSame as the preceding overload for this test type.
getMovedFromReturn the move-from state of the specified object.
getMovedIntoReturn the move-into state of the specified object.
operator!=Return true if the specified lhs and rhs objects do not have the same value, and false otherwise. Two MoveOnlyAllocTestType objects do not have the same value if their data attributes are not the same.
operator==Return true if the specified lhs and rhs objects have the same value, and false otherwise. Two MoveOnlyAllocTestType objects have the same if their data attributes are the same.
setMovedIntoSet the moved-into state of the specified object to the specified value.
swapExchange the states of the specified a and b. Both a and b will be left in a moved-into state. No allocations shall occur (so no exceptions will be thrown) unless a and b have different allocators.