[#BloombergLP-bsltf-MovableAllocTestType]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsltf.adoc[bsltf]::MovableAllocTestType
:relfileprefix: ../../
:mrdocs:

This class provides an unconstrained (value&hyphen;semantic) attribute type that records when move semantics have been invoked with the object instance as the source parameter&period; The class uses a `bslma&colon;&colon;Allocator` to allocate memory and defines the type trait `bslma&colon;&colon;UsesBslmaAllocator`&period; This class is primarily provided to facilitate testing of templates where move semantics need to be differentiated versus copy semantics&period; See the `Attributes` section under DESCRIPTION in the component&hyphen;level documentation for information on the class attributes&period;

== Synopsis

Declared in `&lt;bsltf&lowbar;movablealloctesttype&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class MovableAllocTestType;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsltf/MovableAllocTestType/2constructor-0e.adoc[`MovableAllocTestType`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bsltf/MovableAllocTestType/2destructor.adoc[`&#126;MovableAllocTestType`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/operator_assign-06.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/bsltf/MovableAllocTestType/allocator.adoc[`allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/copyMoveState.adoc[`copyMoveState`] 
| Return the copy&sol;move state of this object&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/data.adoc[`data`] 
| Return the value of the `data` attribute of this object&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/movedFrom.adoc[`movedFrom`] 
| Return the move state of this object as source of a move operation&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/movedInto.adoc[`movedInto`] 
| Return the move state of this object as target of a move operation&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/setCopyMoveState.adoc[`setCopyMoveState`] 
| Set the copy&sol;move state of this object to the specified `state`&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/setData.adoc[`setData`] 
| Set the `data` attribute of this object to the specified `value`&period;
| xref:BloombergLP/bsltf/MovableAllocTestType/setMovedInto.adoc[`setMovedInto`] 
| Set the moved&hyphen;into state of this object to the specified `value`&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bsltf/setCopyMoveState-05.adoc[BloombergLP::bsltf::setCopyMoveState]`
| Set the copy&sol;move state of object at the specified `obj` address to the specified `state`&period; This function is an ADL customization point used by `CopyMoveState&colon;&colon;set(obj, state)`&period;
| `xref:BloombergLP/bsltf/copyMoveState-01.adoc[BloombergLP::bsltf::copyMoveState]`
| Return the copy&sol;move state of the specified `obj`&period; This function is an ADL customization point used by `CopyMoveState&colon;&colon;get(obj)`&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsltf/debugprint-0cb.adoc[`debugprint`]
| Same as the preceding overload for this test type&period;
| xref:BloombergLP/bsltf/operator_not_eq-0bc.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise&period; Two `MovableAllocTestType` objects do not have the same value if their `data` attributes are not the same&period;
| xref:BloombergLP/bsltf/operator_eq-007.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise&period; Two `MovableAllocTestType` objects have the same if their `data` attributes are the same&period; TBD&colon; think about the behavior when specified on an object that was moved&hyphen;from on this as well as other functions&sol;methods if appropriate&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
