Quick Links: |
#include <bslalg_autoscalardestructor.h>
Public Member Functions | |
AutoScalarDestructor (OBJECT_TYPE *object) | |
~AutoScalarDestructor () | |
void | release () |
void | reset (OBJECT_TYPE *object) |
This class
provides a specialized proctor object that, upon destruction and unless the release
method is called, destroys the guarded object of the parameterized OBJECT_TYPE
.
See Component bslalg_autoscalardestructor
bslalg::AutoScalarDestructor< OBJECT_TYPE >::AutoScalarDestructor | ( | OBJECT_TYPE * | object | ) | [inline] |
Create a guard object, proctoring the specified object
of the parameterized OBJECT_TYPE
(if non-zero), that will invoke the destructor of object
upon destruction.
bslalg::AutoScalarDestructor< OBJECT_TYPE >::~AutoScalarDestructor | ( | ) | [inline] |
Call the destructor on the object of the parameterized OBJECT_TYPE
that is proctored by this guard object, if any, and destroy this object.
void bslalg::AutoScalarDestructor< OBJECT_TYPE >::release | ( | ) | [inline] |
Set the address of the object proctored by this guard object to 0, thereby releasing from management the object currently managed by this proctor, if any.
void bslalg::AutoScalarDestructor< OBJECT_TYPE >::reset | ( | OBJECT_TYPE * | object | ) | [inline] |
Set this guard object to manage the specified object
, thereby releasing from management any object currently managed by this proctor, if any.