Concrete allocator adapting global operator new and operator delete.
This class defines a concrete mechanism that adapts the system-supplied (native) global operator new and operator delete to the Allocator protocol. The class method singleton returns a process-wide unique object of this class whose lifetime is guaranteed to extend from the first call to singleton until the program terminates. A second class method, allocator, allows for conveniently replacing a "null" allocator with this singleton object. Note that this entire class should generally not be used directly by typical clients (see bslma_default for more information).
| Name | Description |
|---|---|
Allocator | Pure abstract protocol for clients and suppliers of raw memory. |
| Name | Description |
|---|---|
size_type | Alias for an unsigned integral type capable of representing the number of bytes in this platform's virtual address space. |
| Name | Description |
|---|---|
NewDeleteAllocator [constructor] | Create a new-delete allocator that wraps global new and delete. |
~NewDeleteAllocator [destructor] [virtual] | Destroy this allocator object. Note that destroying this allocator has no effect on any outstanding allocated memory. |
operator= | |
allocate | Allocate a block of memory of at least the specified size bytes. |
deallocate | Return the memory block at the specified address to this allocator. |
deleteObject | deleteObject overloads |
deleteObjectRaw | deleteObjectRaw overloads |
is_equal |
| Name | Description |
|---|---|
allocator | Return basicAllocator, or this class's singleton if it is 0. |
singleton | Return a reference to a process-wide unique object of this class. |
throwBadAlloc | Throw std::bad_alloc or abort the program. |
| Name | Description |
|---|---|
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. |