BloombergLP::bsltf::WellBehavedMoveOnlyAllocTestType

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 section for information on the class attributes.

Synopsis

Declared in <bsltf_wellbehavedmoveonlyalloctesttype.h>

class WellBehavedMoveOnlyAllocTestType;

Member Functions

NameDescription
WellBehavedMoveOnlyAllocTestType [constructor]Constructors
~WellBehavedMoveOnlyAllocTestType [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 WellBehavedMoveOnlyAllocTestType 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 WellBehavedMoveOnlyAllocTestType 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. If the allocators match, both a and b will be left in a moved-into state, otherwise, both will not. If a and b are the same object, this function will have no effect. No allocations shall occur (so no exceptions will be thrown) unless a and b have different allocators.