Quick Links: |
#include <bdlma_autoreleaser.h>
Public Member Functions | |
AutoReleaser (ALLOCATOR *originalAllocator) | |
~AutoReleaser () | |
void | release () |
void | reset (ALLOCATOR *newAllocator) |
This class implements a proctor that invokes the release
method of its managed allocator or pool at destruction unless the proctor's release
method is invoked.
See Component bdlma_autoreleaser
bdlma::AutoReleaser< ALLOCATOR >::AutoReleaser | ( | ALLOCATOR * | originalAllocator | ) |
Create a proctor object to manage the specified originalAllocator
. Unless the release
method of this proctor is invoked, the release
method of originalAllocator
is automatically invoked upon destruction of this proctor.
bdlma::AutoReleaser< ALLOCATOR >::~AutoReleaser | ( | ) |
Destroy this proctor object and, unless the release
method has been invoked on this object with no subsequent call to reset
, invoke the release
method of the held allocator or pool.
void bdlma::AutoReleaser< ALLOCATOR >::release | ( | ) |
Release from management the allocator or pool currently managed by this proctor. If no allocator or pool is currently being managed, this method has no effect.
void bdlma::AutoReleaser< ALLOCATOR >::reset | ( | ALLOCATOR * | newAllocator | ) |
Set the specified newAllocator
as the allocator or pool to be managed by this proctor. Note that this method releases from management any previously held allocator or pool, and so may be invoked with or without having called release
when reusing this object.