libstdc++
atomic_base.h File Reference

Go to the source code of this file.

Classes

struct  std::__atomic_base< _ITp >
 
struct  std::__atomic_base< _ITp >
 
struct  std::__atomic_base< _PTp * >
 
struct  std::__atomic_flag_base
 
struct  std::atomic_flag
 

Namespaces

 std
 

Macros

#define _GLIBCXX_ALWAYS_INLINE
 
#define ATOMIC_FLAG_INIT
 
#define ATOMIC_VAR_INIT(_VI)
 

Typedefs

typedef unsigned char std::__atomic_flag_data_type
 
typedef __atomic_base< char > std::atomic_char
 
typedef __atomic_base< char16_t > std::atomic_char16_t
 
typedef __atomic_base< char32_t > std::atomic_char32_t
 
typedef __atomic_base< int > std::atomic_int
 
typedef __atomic_base
< int_fast16_t > 
std::atomic_int_fast16_t
 
typedef __atomic_base
< int_fast32_t > 
std::atomic_int_fast32_t
 
typedef __atomic_base
< int_fast64_t > 
std::atomic_int_fast64_t
 
typedef __atomic_base
< int_fast8_t > 
std::atomic_int_fast8_t
 
typedef __atomic_base
< int_least16_t > 
std::atomic_int_least16_t
 
typedef __atomic_base
< int_least32_t > 
std::atomic_int_least32_t
 
typedef __atomic_base
< int_least64_t > 
std::atomic_int_least64_t
 
typedef __atomic_base
< int_least8_t > 
std::atomic_int_least8_t
 
typedef __atomic_base< intmax_t > std::atomic_intmax_t
 
typedef __atomic_base< intptr_t > std::atomic_intptr_t
 
typedef __atomic_base< long long > std::atomic_llong
 
typedef __atomic_base< long > std::atomic_long
 
typedef __atomic_base< ptrdiff_t > std::atomic_ptrdiff_t
 
typedef __atomic_base< signed
char > 
std::atomic_schar
 
typedef __atomic_base< short > std::atomic_short
 
typedef __atomic_base< size_t > std::atomic_size_t
 
typedef __atomic_base
< unsigned char > 
std::atomic_uchar
 
typedef __atomic_base
< unsigned int > 
std::atomic_uint
 
typedef __atomic_base
< uint_fast16_t > 
std::atomic_uint_fast16_t
 
typedef __atomic_base
< uint_fast32_t > 
std::atomic_uint_fast32_t
 
typedef __atomic_base
< uint_fast64_t > 
std::atomic_uint_fast64_t
 
typedef __atomic_base
< uint_fast8_t > 
std::atomic_uint_fast8_t
 
typedef __atomic_base
< uint_least16_t > 
std::atomic_uint_least16_t
 
typedef __atomic_base
< uint_least32_t > 
std::atomic_uint_least32_t
 
typedef __atomic_base
< uint_least64_t > 
std::atomic_uint_least64_t
 
typedef __atomic_base
< uint_least8_t > 
std::atomic_uint_least8_t
 
typedef __atomic_base< uintmax_t > std::atomic_uintmax_t
 
typedef __atomic_base< uintptr_t > std::atomic_uintptr_t
 
typedef __atomic_base
< unsigned long long > 
std::atomic_ullong
 
typedef __atomic_base
< unsigned long > 
std::atomic_ulong
 
typedef __atomic_base
< unsigned short > 
std::atomic_ushort
 
typedef __atomic_base< wchar_t > std::atomic_wchar_t
 
typedef enum std::memory_order std::memory_order
 

Enumerations

enum  __memory_order_modifier { __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release }
 
enum  std::memory_order {
  memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release,
  memory_order_acq_rel, memory_order_seq_cst
}
 

Functions

 std::__attribute__ ((always_inline)) void atomic_thread_fence(memory_order __m) noexcept
 
constexpr memory_order std::__cmpexch_failure_order (memory_order __m) noexcept
 
constexpr memory_order std::__cmpexch_failure_order2 (memory_order __m) noexcept
 
template<typename _Tp >
_Tp std::kill_dependency (_Tp __y) noexcept
 
constexpr memory_order std::operator& (memory_order __m, __memory_order_modifier __mod)
 
constexpr memory_order std::operator| (memory_order __m, __memory_order_modifier __mod)
 

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <atomic>.

Definition in file atomic_base.h.