Provide a class that allocates memory and is bitwise-moveable.
More...
Namespaces |
namespace | bsltf |
Detailed Description
- Outline
-
-
- Purpose:
- Provide a class that allocates memory and is bitwise-moveable.
-
- Classes:
-
- See also:
- Component bsltf_templatetestfacility
-
- Description:
- This component provides a single, unconstrained (value-semantic) attribute class,
AllocBitwiseMoveableTestType
, that is bitwise-moveable, uses a bslma::Allocator
to supply memory, and defines the type traits bslma::UsesBslmaAllocator
and bslmf::IsBitwiseMoveable
.
-
- Attributes:
Name Type Default
------------------ ----------- -------
data int 0
-
data
: representation of the class value
-
- Usage:
- This section illustrates intended use of this component.
-
- Example 1: Printing the Supported Traits:
- Suppose we wanted to print the supported traits of this test type.
- First, we create a function template
printTypeTraits
with a parameterized TYPE
: template <class TYPE>
void printTypeTraits()
{
if (bslma::UsesBslmaAllocator<TYPE>::value) {
printf("Type defines bslma::UsesBslmaAllocator.\n");
}
else {
printf(
"Type does not define bslma::UsesBslmaAllocator.\n");
}
if (bslmf::IsBitwiseMoveable<TYPE>::value) {
printf("Type defines bslmf::IsBitwiseMoveable.\n");
}
else {
printf("Type does not define bslmf::IsBitwiseMoveable.\n");
}
}
Now, we invoke the printTypeTraits
function template using AllocBitwiseMoveableTestType
as the parameterized TYPE
: printTypeTraits<AllocBitwiseMoveableTestType>();
Finally, we observe the console output: