BloombergLP::bdlma::AligningAllocator

Allocator wrapper that guarantees a specified minimum alignment.

Synopsis

Declared in <bdlma_aligningallocator.h>

class AligningAllocator
    : public bslma::Allocator

Description

This class provides a mechanism that serves as a wrapper around another allocator, passed at construction. The mechanism guarantees that all allocations passed to the underlying allocator will be aligned by the alignment specified at construction.

Base Classes

NameDescription
bslma::AllocatorPure abstract protocol for clients and suppliers of raw memory.

Type Aliases

NameDescription
size_type Alias for an unsigned integral type capable of representing the number of bytes in this platform's virtual address space.

Member Functions

NameDescription
AligningAllocator [constructor]Create an aligning allocator that guarantees the specified alignment.
operator=
allocate allocate overloads
deallocate Return the memory block at the specified address to this allocator.
deleteObject deleteObject overloads
deleteObjectRaw deleteObjectRaw overloads
is_equal

Static Member Functions

NameDescription
throwBadAlloc Throw std::bad_alloc or abort the program.

Protected Member Functions

NameDescription
do_allocate [virtual]Return a newly allocated block of at least bytes with alignment.
do_deallocate [virtual]Return the memory block at p having bytes and alignment.
do_is_equal [virtual]Return whether this allocator can exchange memory with other.