# atomic File Reference

Go to the source code of this file.

## Classes

- struct std::atomic< _Tp >
    atomic /// 29.4.3, Generic atomic type, primary class template. More...
- struct std::atomic< _Tp * >
    Partial specialization for pointer types. More...
- struct std::atomic< bool >
    Explicit specialization for bool. More...
- struct std::atomic< char >
    Explicit specialization for char. More...
- struct std::atomic< char16_t >
    Explicit specialization for char16_t. More...
- struct std::atomic< char32_t >
    Explicit specialization for char32_t. More...
- struct std::atomic< int >
    Explicit specialization for int. More...
- struct std::atomic< long >
    Explicit specialization for long. More...
- struct std::atomic< long long >
    Explicit specialization for long long. More...
- struct std::atomic< short >
    Explicit specialization for short. More...
- struct std::atomic< signed char >
    Explicit specialization for signed char. More...
- struct std::atomic< unsigned char >
    Explicit specialization for unsigned char. More...
- struct std::atomic< unsigned int >
    Explicit specialization for unsigned int. More...
- struct std::atomic< unsigned long >
    Explicit specialization for unsigned long. More...
- struct std::atomic< unsigned long long >
    Explicit specialization for unsigned long long. More...
- struct std::atomic< unsigned short >
    Explicit specialization for unsigned short. More...
- struct std::atomic< void * >
    Explicit specialization for void*. More...
- struct std::atomic< wchar_t >
    Explicit specialization for wchar_t. More...

## Namespaces

- namespace std

## Functions

- memory_order std::__calculate_memory_order (memory_order __m)
- template<typename _ITp > bool std::atomic_compare_exchange_strong (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
- bool std::atomic_compare_exchange_strong (atomic_address *__a, void **__v1, void *__v2)
- bool std::atomic_compare_exchange_strong (atomic_bool *__a, bool *__i1, bool __i2)
- template<typename _ITp > bool std::atomic_compare_exchange_strong_explicit (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
- bool std::atomic_compare_exchange_strong_explicit (atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
- bool std::atomic_compare_exchange_strong_explicit (atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
- template<typename _ITp > bool std::atomic_compare_exchange_weak (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
- bool std::atomic_compare_exchange_weak (atomic_address *__a, void **__v1, void *__v2)
- bool std::atomic_compare_exchange_weak (atomic_bool *__a, bool *__i1, bool __i2)
- template<typename _ITp > bool std::atomic_compare_exchange_weak_explicit (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
- bool std::atomic_compare_exchange_weak_explicit (atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
- bool std::atomic_compare_exchange_weak_explicit (atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
- void * std::atomic_exchange (atomic_address *__a, void *__v)
- template<typename _ITp > _ITp std::atomic_exchange (__atomic_base< _ITp > *__a, _ITp __i)
- bool std::atomic_exchange (atomic_bool *__a, bool __i)
- template<typename _ITp > _ITp std::atomic_exchange_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- void * std::atomic_exchange_explicit (atomic_address *__a, void *__v, memory_order __m)
- bool std::atomic_exchange_explicit (atomic_bool *__a, bool __i, memory_order __m)
- void * std::atomic_fetch_add (atomic_address *__a, ptrdiff_t __d)
- template<typename _ITp > _ITp std::atomic_fetch_add (__atomic_base< _ITp > *__a, _ITp __i)
- void * std::atomic_fetch_add_explicit (atomic_address *__a, ptrdiff_t __d, memory_order __m)
- template<typename _ITp > _ITp std::atomic_fetch_add_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- template<typename _ITp > _ITp std::atomic_fetch_and (__atomic_base< _ITp > *__a, _ITp __i)
- template<typename _ITp > _ITp std::atomic_fetch_and_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- template<typename _ITp > _ITp std::atomic_fetch_or (__atomic_base< _ITp > *__a, _ITp __i)
- template<typename _ITp > _ITp std::atomic_fetch_or_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- void * std::atomic_fetch_sub (atomic_address *__a, ptrdiff_t __d)
- template<typename _ITp > _ITp std::atomic_fetch_sub (__atomic_base< _ITp > *__a, _ITp __i)
- void * std::atomic_fetch_sub_explicit (atomic_address *__a, ptrdiff_t __d, memory_order __m)
- template<typename _ITp > _ITp std::atomic_fetch_sub_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- template<typename _ITp > _ITp std::atomic_fetch_xor (__atomic_base< _ITp > *__a, _ITp __i)
- template<typename _ITp > _ITp std::atomic_fetch_xor_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- void std::atomic_flag_clear_explicit (atomic_flag *__a, memory_order __m)
- bool std::atomic_flag_test_and_set_explicit (atomic_flag *__a, memory_order __m)
- bool std::atomic_is_lock_free (const atomic_bool *__a)
- bool std::atomic_is_lock_free (const atomic_address *__a)
- template<typename _ITp > bool std::atomic_is_lock_free (const __atomic_base< _ITp > *__a)
- void * std::atomic_load (const atomic_address *__a)
- template<typename _ITp > _ITp std::atomic_load (const __atomic_base< _ITp > *__a)
- bool std::atomic_load (const atomic_bool *__a)
- template<typename _ITp > _ITp std::atomic_load_explicit (const __atomic_base< _ITp > *__a, memory_order __m)
- void * std::atomic_load_explicit (const atomic_address *__a, memory_order __m)
- bool std::atomic_load_explicit (const atomic_bool *__a, memory_order __m)
- void std::atomic_store (atomic_bool *__a, bool __i)
- template<typename _ITp > void std::atomic_store (__atomic_base< _ITp > *__a, _ITp __i)
- void std::atomic_store (atomic_address *__a, void *__v)
- void std::atomic_store_explicit (atomic_bool *__a, bool __i, memory_order __m)
- void std::atomic_store_explicit (atomic_address *__a, void *__v, memory_order __m)
- template<typename _ITp > void std::atomic_store_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
- template<typename _Tp > _Tp std::kill_dependency (_Tp __y)

## Detailed Description

This is a Standard C++ Library header.

Definition in file atomic.