BloombergLP::bsltf::StdAllocatorAdaptor

This class template provides the facade of an allocator but mostly delegates operations to the allocator object (of template parameter type) it adapts, except that it enables the propagation of the (stateful) allocator object to constructed elements, if appropriate.

Synopsis

Declared in <bsltf_stdallocatoradaptor.h>

template<class ALLOCATOR>
class StdAllocatorAdaptor
    : public ALLOCATOR

Base Classes

NameDescription
ALLOCATOR

Types

NameDescription
rebind This nested struct template, parameterized by some BDE_OTHER_TYPE, provides a namespace for an other type alias, which is an allocator type following the same template as this one but that allocates elements of BDE_OTHER_TYPE. Note that this allocator type is convertible to and from other for any BDE_OTHER_TYPE including void.

Type Aliases

NameDescription
const_pointer Alias for ALLOCATOR::const_pointer.
const_reference Alias for ALLOCATOR::const_reference.
difference_type Alias for ALLOCATOR::difference_type.
pointer Alias for ALLOCATOR::pointer.
reference Alias for ALLOCATOR::reference.
size_type Alias for ALLOCATOR::size_type.
value_type Alias for ALLOCATOR::value_type.

Member Functions

NameDescription
StdAllocatorAdaptor [constructor]Create a standard allocator adaptor object for a default-constructed allocator object of the (template parameter) type ALLOCATOR.
StdAllocatorAdaptor [constructor]Create a copy of the specified original allocator adaptor.
StdAllocatorAdaptor [constructor]Create a copy of the specified other allocator adaptor.
StdAllocatorAdaptor [constructor]Create a standard allocator adaptor object from the null pointer constant.
StdAllocatorAdaptor [constructor]Create a standard allocator adaptor object for the specified allocator of the (template parameter) type ALLOCATOR.
operator= Assign to this object the value of the specified rhs object, and return a reference providing modifiable access to this object.
allocator Return a reference to the non-modifiable allocator instance associated with this standard allocator adaptor.
construct Construct an object of the (template parameter) ELEMENT_TYPE, by forwarding the allocator instance associated with this allocator adaptor, if appropriate, and the specified (variable number of) arguments to the corresponding constructor of ELEMENT_TYPE, at the specified uninitialized memory address. The behavior is undefined unless address is properly aligned for objects of ELEMENT_TYPE.
select_on_container_copy_construction Return an allocator adaptor for the allocator object returned by the select_on_container_copy_construction class method in the allocator_traits class template for the allocator object, of the (template parameter) type ALLOCATOR, associated with this adaptor. The allocator_traits class template presumably delegates this call to the allocator object if such an operation is supported by the ALLOCATOR type, or provides a suitable default behavior if such an operation is not supported.
operator BloombergLP::bslmf::NestedTraitDeclaration<StdAllocatorAdaptor, IsStdAllocator> Declare StdAllocatorAdaptor as a standard allocator.

Non-Member Functions

NameDescription
operator!=Return true if the specified lhs and rhs adaptors are not equal and false otherwise. Two allocator adaptor instances are not equal if their associated allocator instances are not equal.
operator==Return true if the specified lhs and rhs adaptors are equal and false otherwise. Two allocator adaptor instances are equal if their associated allocator instances are equal.