libstdc++
Atomics

Classes

struct  std::__atomic_flag_base
 

Macros

#define _GLIBCXX_ATOMIC_NAMESPACE
 
#define _GLIBCXX_ATOMIC_PROPERTY
 
#define ATOMIC_CHAR16_T_LOCK_FREE
 
#define ATOMIC_CHAR32_T_LOCK_FREE
 
#define ATOMIC_CHAR_LOCK_FREE
 
#define ATOMIC_FLAG_INIT
 
#define ATOMIC_INT_LOCK_FREE
 
#define ATOMIC_LLONG_LOCK_FREE
 
#define ATOMIC_LONG_LOCK_FREE
 
#define ATOMIC_SHORT_LOCK_FREE
 
#define ATOMIC_VAR_INIT(_VI)
 
#define ATOMIC_WCHAR_T_LOCK_FREE
 

Typedefs

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  std::memory_order {
  memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release,
  memory_order_acq_rel, memory_order_seq_cst
}
 

Functions

memory_order std::__calculate_memory_order (memory_order __m)
 
void std::atomic_signal_fence (memory_order)
 
void std::atomic_thread_fence (memory_order)
 
template<typename _Tp >
_Tp std::kill_dependency (_Tp __y)
 

Detailed Description

Components for performing atomic operations.

Macro Definition Documentation

#define _GLIBCXX_ATOMIC_PROPERTY

Lock-free Property.

Definition at line 145 of file atomic_base.h.

Typedef Documentation

typedef __atomic_base<char> std::atomic_char

atomic_char

Definition at line 168 of file atomic_base.h.

typedef __atomic_base<char16_t> std::atomic_char16_t

atomic_char16_t

Definition at line 204 of file atomic_base.h.

typedef __atomic_base< char32_t > std::atomic_char32_t

atomic_char32_t

Definition at line 207 of file atomic_base.h.

typedef __atomic_base<int> std::atomic_int

atomic_int

Definition at line 183 of file atomic_base.h.

typedef __atomic_base<int_fast16_t> std::atomic_int_fast16_t

atomic_int_fast16_t

Definition at line 245 of file atomic_base.h.

typedef __atomic_base<int_fast32_t> std::atomic_int_fast32_t

atomic_int_fast32_t

Definition at line 251 of file atomic_base.h.

typedef __atomic_base<int_fast64_t> std::atomic_int_fast64_t

atomic_int_fast64_t

Definition at line 257 of file atomic_base.h.

typedef __atomic_base<int_fast8_t> std::atomic_int_fast8_t

atomic_int_fast8_t

Definition at line 239 of file atomic_base.h.

typedef __atomic_base<int_least16_t> std::atomic_int_least16_t

atomic_int_least16_t

Definition at line 220 of file atomic_base.h.

typedef __atomic_base<int_least32_t> std::atomic_int_least32_t

atomic_int_least32_t

Definition at line 226 of file atomic_base.h.

typedef __atomic_base<int_least64_t> std::atomic_int_least64_t

atomic_int_least64_t

Definition at line 232 of file atomic_base.h.

typedef __atomic_base<int_least8_t> std::atomic_int_least8_t

atomic_int_least8_t

Definition at line 214 of file atomic_base.h.

typedef __atomic_base<intmax_t> std::atomic_intmax_t

atomic_intmax_t

Definition at line 273 of file atomic_base.h.

typedef __atomic_base<intptr_t> std::atomic_intptr_t

atomic_intptr_t

Definition at line 264 of file atomic_base.h.

typedef __atomic_base<long long> std::atomic_llong

atomic_llong

Definition at line 195 of file atomic_base.h.

typedef __atomic_base<long> std::atomic_long

atomic_long

Definition at line 189 of file atomic_base.h.

typedef __atomic_base<ptrdiff_t> std::atomic_ptrdiff_t

atomic_ptrdiff_t

Definition at line 279 of file atomic_base.h.

typedef __atomic_base<signed char> std::atomic_schar

atomic_schar

Definition at line 171 of file atomic_base.h.

typedef __atomic_base<short> std::atomic_short

atomic_short

Definition at line 177 of file atomic_base.h.

typedef __atomic_base<size_t> std::atomic_size_t

atomic_size_t

Definition at line 270 of file atomic_base.h.

typedef __atomic_base<unsigned char> std::atomic_uchar

atomic_uchar

Definition at line 174 of file atomic_base.h.

typedef __atomic_base<unsigned int> std::atomic_uint

atomic_uint

Definition at line 186 of file atomic_base.h.

typedef __atomic_base<uint_fast16_t> std::atomic_uint_fast16_t

atomic_uint_fast16_t

Definition at line 248 of file atomic_base.h.

typedef __atomic_base<uint_fast32_t> std::atomic_uint_fast32_t

atomic_uint_fast32_t

Definition at line 254 of file atomic_base.h.

typedef __atomic_base<uint_fast64_t> std::atomic_uint_fast64_t

atomic_uint_fast64_t

Definition at line 260 of file atomic_base.h.

typedef __atomic_base<uint_fast8_t> std::atomic_uint_fast8_t

atomic_uint_fast8_t

Definition at line 242 of file atomic_base.h.

typedef __atomic_base<uint_least16_t> std::atomic_uint_least16_t

atomic_uint_least16_t

Definition at line 223 of file atomic_base.h.

typedef __atomic_base<uint_least32_t> std::atomic_uint_least32_t

atomic_uint_least32_t

Definition at line 229 of file atomic_base.h.

typedef __atomic_base<uint_least64_t> std::atomic_uint_least64_t

atomic_uint_least64_t

Definition at line 235 of file atomic_base.h.

typedef __atomic_base<uint_least8_t> std::atomic_uint_least8_t

atomic_uint_least8_t

Definition at line 217 of file atomic_base.h.

typedef __atomic_base<uintmax_t> std::atomic_uintmax_t

atomic_uintmax_t

Definition at line 276 of file atomic_base.h.

typedef __atomic_base<uintptr_t> std::atomic_uintptr_t

atomic_uintptr_t

Definition at line 267 of file atomic_base.h.

typedef __atomic_base<unsigned long long> std::atomic_ullong

atomic_ullong

Definition at line 198 of file atomic_base.h.

typedef __atomic_base<unsigned long> std::atomic_ulong

atomic_ulong

Definition at line 192 of file atomic_base.h.

typedef __atomic_base<unsigned short> std::atomic_ushort

atomic_ushort

Definition at line 180 of file atomic_base.h.

typedef __atomic_base<wchar_t> std::atomic_wchar_t

atomic_wchar_t

Definition at line 201 of file atomic_base.h.

Enumeration for memory_order.

Enumeration Type Documentation

Enumeration for memory_order.

Definition at line 51 of file atomic_base.h.

Function Documentation

template<typename _Tp >
_Tp std::kill_dependency ( _Tp  __y)
inline

kill_dependency

Definition at line 80 of file atomic_base.h.