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

Name

Description

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

Name

Description

debugprint

Same as the preceding overload for this test type.

getMovedFrom

Return the move‐from state of the specified object.

getMovedInto

Return 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.

setMovedInto

Set the moved‐into state of the specified object to the specified value.

swap

Exchange 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.

Created with MrDocs