---
name: "std::__atomic2::__atomic_base"
section: "3cxx"
platform: "linux"
package: "libstdc++6-4.6-doc"
version: "4.6.3-14"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/std::__atomic2::__atomic_base"
---

# std::\_\_atomic2::\_\_atomic\_base(3cxx)

## NAME

std::\_\_atomic2::\_\_atomic\_base\< \_ITp \> -

## SYNOPSIS

### Public Member Functions

**\_\_atomic\_base** (const **\_\_atomic\_base** &)\
 constexpr **\_\_atomic\_base** (\_\_int\_type \_\_i)\
 bool **compare\_exchange\_strong** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m1, **memory\_order** \_\_m2)\
 bool **compare\_exchange\_strong** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m1, **memory\_order** \_\_m2) volatile\
 bool **compare\_exchange\_strong** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 bool **compare\_exchange\_strong** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 bool **compare\_exchange\_weak** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m1, **memory\_order** \_\_m2)\
 bool **compare\_exchange\_weak** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m1, **memory\_order** \_\_m2) volatile\
 bool **compare\_exchange\_weak** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 bool **compare\_exchange\_weak** (\_\_int\_type &\_\_i1, \_\_int\_type \_\_i2, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **exchange** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **exchange** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **fetch\_add** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **fetch\_add** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **fetch\_and** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **fetch\_and** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **fetch\_or** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **fetch\_or** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **fetch\_sub** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **fetch\_sub** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 \_\_int\_type **fetch\_xor** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 \_\_int\_type **fetch\_xor** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\
 bool **is\_lock\_free** () const \
 bool **is\_lock\_free** () const volatile\
 \_\_int\_type **load** (**memory\_order** \_\_m=memory\_order\_seq\_cst) const \
 \_\_int\_type **load** (**memory\_order** \_\_m=memory\_order\_seq\_cst) const volatile\
 **operator \_\_int\_type** () const \
 **operator \_\_int\_type** () const volatile\
 \_\_int\_type **operator&=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator&=** (\_\_int\_type \_\_i) volatile\
 \_\_int\_type **operator++** (int)\
 \_\_int\_type **operator++** (int) volatile\
 \_\_int\_type **operator++** ()\
 \_\_int\_type **operator++** () volatile\
 \_\_int\_type **operator+=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator+=** (\_\_int\_type \_\_i) volatile\
 \_\_int\_type **operator--** (int)\
 \_\_int\_type **operator--** (int) volatile\
 \_\_int\_type **operator--** ()\
 \_\_int\_type **operator--** () volatile\
 \_\_int\_type **operator-=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator-=** (\_\_int\_type \_\_i) volatile\
 **\_\_atomic\_base** & **operator=** (const **\_\_atomic\_base** &)\
 **\_\_atomic\_base** & **operator=** (const **\_\_atomic\_base** &) volatile\
 \_\_int\_type **operator=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator=** (\_\_int\_type \_\_i) volatile\
 \_\_int\_type **operator^=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator^=** (\_\_int\_type \_\_i) volatile\
 \_\_int\_type **operator\|=** (\_\_int\_type \_\_i)\
 \_\_int\_type **operator\|=** (\_\_int\_type \_\_i) volatile\
 void **store** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst)\
 void **store** (\_\_int\_type \_\_i, **memory\_order** \_\_m=memory\_order\_seq\_cst) volatile\

## Detailed Description

### template\<typename \_ITp\>struct std::\_\_atomic2::\_\_atomic\_base\< \_ITp \>

Base class for atomic integrals.

Definition at line 128 of file atomic\_2.h.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
