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

# ost\_AtomicCounter(3)

The AtomicCounter class offers thread-safe manipulation of an integer counter.

## NAME

ost::AtomicCounter - The **AtomicCounter** class offers thread-safe manipulation of an integer counter.

## SYNOPSIS

`#include <thread.h>`

### Public Member Functions

**AtomicCounter** ()\
 Initialize an atomic counter to 0.  **AtomicCounter** (int value)\
 Initialize an atomic counter to a known value.  **~AtomicCounter** ()\
 int **operator++** (void)\
 int **operator--** (void)\
 int **operator+=** (int change)\
 int **operator-=** (int change)\
 int **operator+** (int change)\
 int **operator-** (int change)\
 int **operator=** (int value)\
 bool **operator!** (void)\
 **operator int** ()\

## Detailed Description

The **AtomicCounter** class offers thread-safe manipulation of an integer counter.

These are commonly used for building thread-safe 'reference' counters for C++ classes. The **AtomicCounter** depends on the platforms support for 'atomic' integer operations, and can alternately substitute a 'mutex' if no atomic support exists.

**Author**

Sean Cavanaugh sean@dimensionalrift.com

atomic counter operation.

## Constructor & Destructor Documentation

### ost::AtomicCounter::AtomicCounter ()

Initialize an atomic counter to 0.

### ost::AtomicCounter::AtomicCounter (int value)

Initialize an atomic counter to a known value.

**Parameters**

*value* initial value.

### ost::AtomicCounter::~AtomicCounter ()

## Member Function Documentation

### ost::AtomicCounter::operator int ()

### bool ost::AtomicCounter::operator! (void)

### int ost::AtomicCounter::operator+ (int change)

### int ost::AtomicCounter::operator++ (void)

### int ost::AtomicCounter::operator+= (int change)

### int ost::AtomicCounter::operator- (int change)

### int ost::AtomicCounter::operator-- (void)

### int ost::AtomicCounter::operator-= (int change)

### int ost::AtomicCounter::operator= (int value)

## Author

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