8#ifndef INCLUDED_BSLMA_AUTODEALLOCATOR
9#define INCLUDED_BSLMA_AUTODEALLOCATOR
384#include <bslscm_version.h>
408template <
class ALLOCATOR>
418 ALLOCATOR *d_allocator_p;
471 template <
class TYPE>
473 ALLOCATOR *allocator,
476 ALLOCATOR *allocator,
527 template <
class TYPE>
528 void reset(TYPE **origin);
529 void reset(
void **origin);
552template <
class ALLOCATOR>
556 for (; d_length > 0; --d_length, ++d_origin_p) {
557 d_allocator_p->deallocate(*d_origin_p);
562 for (; d_length < 0; ++d_length, --d_origin_p) {
563 d_allocator_p->deallocate(*d_origin_p);
569template <
class ALLOCATOR>
572AutoDeallocator<ALLOCATOR>
573::AutoDeallocator(TYPE **origin,
574 ALLOCATOR *allocator,
576: d_origin_p((void **)origin)
578, d_allocator_p(allocator)
584template <
class ALLOCATOR>
588 ALLOCATOR *allocator,
592, d_allocator_p(allocator)
598template <
class ALLOCATOR>
610template <
class ALLOCATOR>
619template <
class ALLOCATOR>
628template <
class ALLOCATOR>
635template <
class ALLOCATOR>
642 d_origin_p =
static_cast<void **
>(origin);
645template <
class ALLOCATOR>
654template <
class ALLOCATOR>
665template <
class ALLOCATOR>
674#ifndef BDE_OPENSOURCE_PUBLICATION
679#ifdef bslma_AutoDeallocator
680#undef bslma_AutoDeallocator
683#define bslma_AutoDeallocator bslma::AutoDeallocator
Definition bslma_autodeallocator.h:409
void release()
Definition bslma_autodeallocator.h:630
void setLength(int length)
Definition bslma_autodeallocator.h:657
~AutoDeallocator()
Definition bslma_autodeallocator.h:600
void reset(TYPE **origin)
Definition bslma_autodeallocator.h:638
void operator++()
Definition bslma_autodeallocator.h:612
void operator--()
Definition bslma_autodeallocator.h:621
int length() const
Definition bslma_autodeallocator.h:667
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition balxml_encoderoptions.h:68