BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR > Class Template Reference

#include <bslalg_dequeprimitives.h>

Public Types

typedef DequeIterator< VALUE_TYPE, BLOCK_LENGTH > Iterator
 

Public Member Functions

 DequePrimitives_ExternalDequeElementGuard (Iterator *begin, Iterator *end, ALLOCATOR allocator)
 
 ~DequePrimitives_ExternalDequeElementGuard ()
 
void release ()
 

Detailed Description

template<class VALUE_TYPE, int BLOCK_LENGTH, class ALLOCATOR>
class bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR >

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 a bsl::deque of parameterized type VALUE_TYPE. The elements destroyed are delimited by the "guarded" range [*d_begin .. *d_end). Note that the range guarded by this class is dynamic and can be changed outside of this class.

See bslalg_dequeprimitives

Member Typedef Documentation

◆ Iterator

template<class VALUE_TYPE , int BLOCK_LENGTH, class ALLOCATOR >
typedef DequeIterator<VALUE_TYPE, BLOCK_LENGTH> bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR >::Iterator

Constructor & Destructor Documentation

◆ DequePrimitives_ExternalDequeElementGuard()

template<class VALUE_TYPE , int BLOCK_LENGTH, class ALLOCATOR >
bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR >::DequePrimitives_ExternalDequeElementGuard ( Iterator begin,
Iterator end,
ALLOCATOR  allocator 
)
inline

Create a deque exception guard object for the sequence of elements of the parameterized VALUE_TYPE delimited by the specified range [*begin .. *end). The behavior is undefined unless *begin <= *end and unless each element in the range [*begin .. *end) has been initialized.

◆ ~DequePrimitives_ExternalDequeElementGuard()

template<class VALUE_TYPE , int BLOCK_LENGTH, class ALLOCATOR >
bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR >::~DequePrimitives_ExternalDequeElementGuard ( )
inline

Call the destructor on each of the elements of the parameterized VALUE_TYPE delimited by the range [*d_begin_p .. *d_end_p) and destroy this array exception guard.

Member Function Documentation

◆ release()

template<class VALUE_TYPE , int BLOCK_LENGTH, class ALLOCATOR >
void bslalg::DequePrimitives_ExternalDequeElementGuard< VALUE_TYPE, BLOCK_LENGTH, ALLOCATOR >::release ( )
inline

Set the range of elements guarded by this object to be empty. Note that d_begin_p == d_end_p == 0 following this operation.


The documentation for this class was generated from the following file: