|
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.