# ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE > Class Template Reference

This class automatically increments and decrements a parameterized counter. More...

`#include <Auto_IncDec_T.h>`

Collaboration diagram for ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >:

[legend]
List of all members.

## Public Member Functions

| ACE_Auto_IncDec (ACE_SAFELY_INCREMENTABLE_DECREMENTABLE &counter)
| Implicitly increment the counter.
| ~ACE_Auto_IncDec (void)
| Implicitly decrement the counter.
void | dump (void) const
| Dump the state of an object.

## Protected Attributes

ACE_SAFELY_INCREMENTABLE_DECREMENTABLE & | counter_

## Private Member Functions

void | operator= (const ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE > &)
| ACE_Auto_IncDec (const ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE > &)

## Detailed Description

### template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
class ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >

This class automatically increments and decrements a parameterized counter.

This data structure is meant to be used within a method, function, or scope. The actual parameter given for the <ace_safely_incrementable_decrementable> template parameter must provide at least operators ++ and --.

## Constructor & Destructor Documentation

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::ACE_Auto_IncDec | ( | ACE_SAFELY_INCREMENTABLE_DECREMENTABLE & | counter | ) |

| Implicitly increment the counter.

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
ACE_INLINE ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::~ACE_Auto_IncDec | ( | void |  | ) |

| Implicitly decrement the counter.

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::ACE_Auto_IncDec | ( | const ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE > & |  | ) | `[private]`

## Member Function Documentation

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::dump | ( | void |  | ) | const

| Dump the state of an object.

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
void ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::operator= | ( | const ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE > & |  | ) | `[private]`

## Member Data Documentation

template<class ACE_SAFELY_INCREMENTABLE_DECREMENTABLE>
ACE_SAFELY_INCREMENTABLE_DECREMENTABLE& ACE_Auto_IncDec< ACE_SAFELY_INCREMENTABLE_DECREMENTABLE >::counter_ `[protected]`

| Reference to the <ace_safely_incrementable_decrementable> counter we're incrementing/decrementing.

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

- Auto_IncDec_T.h
- Auto_IncDec_T.cpp
- Auto_IncDec_T.inl