BDE 4.14.0 Production release
|
#include <bslalg_autoarraydestructor.h>
Public Types | |
typedef std::ptrdiff_t | difference_type |
Public Member Functions | |
AutoArrayDestructor (OBJECT_TYPE *begin, OBJECT_TYPE *end, ALLOCATOR allocator=ALLOCATOR()) | |
~AutoArrayDestructor () | |
OBJECT_TYPE * | moveBegin (difference_type offset=-1) |
OBJECT_TYPE * | moveEnd (difference_type offset=1) |
void | release () |
This class
provides a specialized proctor object that, upon destruction and unless the release
method has been called, destroys the elements in a segment of an array of parameterized type OBJECT_TYPE
. The elements destroyed are delimited by the "guarded" range [ begin(), end() )
.
typedef std::ptrdiff_t bslalg::AutoArrayDestructor< OBJECT_TYPE, ALLOCATOR >::difference_type |
|
inline |
Create an array exception guard object for the sequence of elements of the parameterized OBJECT_TYPE
delimited by the range specified by [ begin, end )
. The behavior is undefined unless begin <= end
and each element in the range [ begin, end )
has been initialized.
|
inline |
Call the destructor on each of the elements of the parameterized OBJECT_TYPE
delimited by the range [ begin(), end() )
and destroy this array exception guard.
|
inline |
Move the begin pointer by the specified offset
, and return the new begin pointer.
|
inline |
Move the end pointer by the specified offset
, and return the new end pointer.
|
inline |
Set the range of elements guarded by this object to be empty. Note that begin() == end()
following this operation, but the specific value is unspecified.