---
name: "ost_Counter"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_Counter"
---

# ost\_Counter(3)

The counter template is used for generic objects which act as automatic counters.

## NAME

ost::Counter\< T \> - The counter template is used for generic objects which act as automatic counters.

## SYNOPSIS

`#include <counter.h>`

### Public Member Functions

**Counter** ()\
 Construct and initialize a counter to zero.  **Counter** (const **Counter** &counter)\
 Construct a counter with an initial value set for another counter.  **Counter** (T initial)\
 Construct a counter with an initial value of the specified data type.  T & **operator=** (T c)\
 **operator T** ()\

### Protected Attributes

T **count**\

## Detailed Description

### template\<typename T\>

class ost::Counter\< T \>" The counter template is used for generic objects which act as automatic counters.

Each time the object is accessed, the underlying counted data type is incremented.

**Author**

David Sugar dyfet@gnutelephony.org

Automatic counter template class.

## Constructor & Destructor Documentation

### template\<typename T \> ost::Counter\< T \>::Counter ()` [inline]`

Construct and initialize a counter to zero.

References ost::Counter\< T \>::count.

### template\<typename T \> ost::Counter\< T \>::Counter (const Counter\< T \> & counter)` [inline]`

Construct a counter with an initial value set for another counter.

**Parameters**

*counter* to copy from.

References ost::Counter\< T \>::count.

### template\<typename T \> ost::Counter\< T \>::Counter (T initial)` [inline]`

Construct a counter with an initial value of the specified data type.

**Parameters**

*initial* value to set.

References ost::Counter\< T \>::count.

## Member Function Documentation

### template\<typename T \> ost::Counter\< T \>::operator T ()` [inline]`

References ost::Counter\< T \>::count.

### template\<typename T \> T& ost::Counter\< T \>::operator= (T c)` [inline]`

## Member Data Documentation

### template\<typename T \> T ost::Counter\< T \>::count` [protected]`

Referenced by ost::Counter\< T \>::Counter(), and ost::Counter\< T \>::operator T().

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
