libstdc++
std::atomic< long > Struct Reference
Inheritance diagram for std::atomic< long >:
[legend]

Public Types

typedef __atomic_base< long > __base_type
 
typedef long __integral_type
 
using difference_type = value_type
 
using value_type = long
 

Public Member Functions

constexpr atomic (__integral_type __i) noexcept
 
 atomic (const atomic &)=delete
 
bool compare_exchange_strong (__int_type &__i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept
 
bool compare_exchange_strong (__int_type &__i1, __int_type __i2, memory_order __m1, memory_order __m2) volatile noexcept
 
bool compare_exchange_strong (__int_type &__i1, __int_type __i2, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_strong (__int_type &__i1, __int_type __i2, memory_order __m=memory_order_seq_cst) volatile noexcept
 
bool compare_exchange_weak (__int_type &__i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept
 
bool compare_exchange_weak (__int_type &__i1, __int_type __i2, memory_order __m1, memory_order __m2) volatile noexcept
 
bool compare_exchange_weak (__int_type &__i1, __int_type __i2, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_weak (__int_type &__i1, __int_type __i2, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type exchange (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type exchange (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type fetch_add (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type fetch_add (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type fetch_and (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type fetch_and (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type fetch_or (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type fetch_or (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type fetch_sub (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type fetch_sub (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
__int_type fetch_xor (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
__int_type fetch_xor (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
bool is_lock_free () const noexcept
 
bool is_lock_free () const volatile noexcept
 
__int_type load (memory_order __m=memory_order_seq_cst) const noexcept
 
__int_type load (memory_order __m=memory_order_seq_cst) const volatile noexcept
 
 operator __int_type () const noexcept
 
 operator __int_type () const volatile noexcept
 
__int_type operator&= (__int_type __i) noexcept
 
__int_type operator&= (__int_type __i) volatile noexcept
 
__int_type operator++ () noexcept
 
__int_type operator++ () volatile noexcept
 
__int_type operator++ (int) noexcept
 
__int_type operator++ (int) volatile noexcept
 
__int_type operator+= (__int_type __i) noexcept
 
__int_type operator+= (__int_type __i) volatile noexcept
 
__int_type operator-- () noexcept
 
__int_type operator-- () volatile noexcept
 
__int_type operator-- (int) noexcept
 
__int_type operator-- (int) volatile noexcept
 
__int_type operator-= (__int_type __i) noexcept
 
__int_type operator-= (__int_type __i) volatile noexcept
 
atomicoperator= (const atomic &) volatile=delete
 
atomicoperator= (const atomic &)=delete
 
__int_type operator^= (__int_type __i) noexcept
 
__int_type operator^= (__int_type __i) volatile noexcept
 
__int_type operator|= (__int_type __i) noexcept
 
__int_type operator|= (__int_type __i) volatile noexcept
 
void store (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
 
void store (__int_type __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 

Static Public Attributes

static constexpr bool is_always_lock_free
 

Detailed Description

Explicit specialization for long.

Definition at line 868 of file atomic.

Member Typedef Documentation

◆ __base_type

typedef __atomic_base<long> std::atomic< long >::__base_type

Definition at line 871 of file atomic.

◆ __integral_type

typedef long std::atomic< long >::__integral_type

Definition at line 870 of file atomic.

◆ difference_type

using std::__atomic_base< long >::difference_type = value_type
inherited

Definition at line 327 of file atomic_base.h.

◆ value_type

using std::__atomic_base< long >::value_type = long
inherited

Definition at line 326 of file atomic_base.h.

Constructor & Destructor Documentation

◆ atomic()

constexpr std::atomic< long >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 879 of file atomic.

Member Function Documentation

◆ compare_exchange_strong() [1/4]

bool std::__atomic_base< long >::compare_exchange_strong ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexceptinherited

Definition at line 555 of file atomic_base.h.

◆ compare_exchange_strong() [2/4]

bool std::__atomic_base< long >::compare_exchange_strong ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexceptinherited

Definition at line 565 of file atomic_base.h.

◆ compare_exchange_strong() [3/4]

bool std::__atomic_base< long >::compare_exchange_strong ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 576 of file atomic_base.h.

◆ compare_exchange_strong() [4/4]

bool std::__atomic_base< long >::compare_exchange_strong ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 584 of file atomic_base.h.

◆ compare_exchange_weak() [1/4]

bool std::__atomic_base< long >::compare_exchange_weak ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexceptinherited

Definition at line 518 of file atomic_base.h.

◆ compare_exchange_weak() [2/4]

bool std::__atomic_base< long >::compare_exchange_weak ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexceptinherited

Definition at line 528 of file atomic_base.h.

◆ compare_exchange_weak() [3/4]

bool std::__atomic_base< long >::compare_exchange_weak ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 539 of file atomic_base.h.

◆ compare_exchange_weak() [4/4]

bool std::__atomic_base< long >::compare_exchange_weak ( __int_type &  __i1,
__int_type  __i2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 547 of file atomic_base.h.

◆ exchange() [1/2]

__int_type std::__atomic_base< long >::exchange ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 503 of file atomic_base.h.

◆ exchange() [2/2]

__int_type std::__atomic_base< long >::exchange ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 511 of file atomic_base.h.

◆ fetch_add() [1/2]

__int_type std::__atomic_base< long >::fetch_add ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 616 of file atomic_base.h.

◆ fetch_add() [2/2]

__int_type std::__atomic_base< long >::fetch_add ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 621 of file atomic_base.h.

◆ fetch_and() [1/2]

__int_type std::__atomic_base< long >::fetch_and ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 636 of file atomic_base.h.

◆ fetch_and() [2/2]

__int_type std::__atomic_base< long >::fetch_and ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 641 of file atomic_base.h.

◆ fetch_or() [1/2]

__int_type std::__atomic_base< long >::fetch_or ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 646 of file atomic_base.h.

◆ fetch_or() [2/2]

__int_type std::__atomic_base< long >::fetch_or ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 651 of file atomic_base.h.

◆ fetch_sub() [1/2]

__int_type std::__atomic_base< long >::fetch_sub ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 626 of file atomic_base.h.

◆ fetch_sub() [2/2]

__int_type std::__atomic_base< long >::fetch_sub ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 631 of file atomic_base.h.

◆ fetch_xor() [1/2]

__int_type std::__atomic_base< long >::fetch_xor ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 656 of file atomic_base.h.

◆ fetch_xor() [2/2]

__int_type std::__atomic_base< long >::fetch_xor ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 661 of file atomic_base.h.

◆ is_lock_free() [1/2]

bool std::__atomic_base< long >::is_lock_free ( ) const
inlinenoexceptinherited

Definition at line 440 of file atomic_base.h.

◆ is_lock_free() [2/2]

bool std::__atomic_base< long >::is_lock_free ( ) const volatile
inlinenoexceptinherited

Definition at line 448 of file atomic_base.h.

◆ load() [1/2]

__int_type std::__atomic_base< long >::load ( memory_order  __m = memory_order_seq_cst) const
inlinenoexceptinherited

Definition at line 481 of file atomic_base.h.

◆ load() [2/2]

__int_type std::__atomic_base< long >::load ( memory_order  __m = memory_order_seq_cst) const volatile
inlinenoexceptinherited

Definition at line 492 of file atomic_base.h.

◆ operator __int_type() [1/2]

std::__atomic_base< long >::operator __int_type ( ) const
inlinenoexceptinherited

Definition at line 347 of file atomic_base.h.

◆ operator __int_type() [2/2]

std::__atomic_base< long >::operator __int_type ( ) const volatile
inlinenoexceptinherited

Definition at line 350 of file atomic_base.h.

◆ operator&=() [1/2]

__int_type std::__atomic_base< long >::operator&= ( __int_type  __i)
inlinenoexceptinherited

Definition at line 416 of file atomic_base.h.

◆ operator&=() [2/2]

__int_type std::__atomic_base< long >::operator&= ( __int_type  __i) volatile
inlinenoexceptinherited

Definition at line 420 of file atomic_base.h.

◆ operator++() [1/4]

__int_type std::__atomic_base< long >::operator++ ( )
inlinenoexceptinherited

Definition at line 384 of file atomic_base.h.

◆ operator++() [2/4]

__int_type std::__atomic_base< long >::operator++ ( ) volatile
inlinenoexceptinherited

Definition at line 388 of file atomic_base.h.

◆ operator++() [3/4]

__int_type std::__atomic_base< long >::operator++ ( int  )
inlinenoexceptinherited

Definition at line 368 of file atomic_base.h.

◆ operator++() [4/4]

__int_type std::__atomic_base< long >::operator++ ( int  ) volatile
inlinenoexceptinherited

Definition at line 372 of file atomic_base.h.

◆ operator+=() [1/2]

__int_type std::__atomic_base< long >::operator+= ( __int_type  __i)
inlinenoexceptinherited

Definition at line 400 of file atomic_base.h.

◆ operator+=() [2/2]

__int_type std::__atomic_base< long >::operator+= ( __int_type  __i) volatile
inlinenoexceptinherited

Definition at line 404 of file atomic_base.h.

◆ operator--() [1/4]

__int_type std::__atomic_base< long >::operator-- ( )
inlinenoexceptinherited

Definition at line 392 of file atomic_base.h.

◆ operator--() [2/4]

__int_type std::__atomic_base< long >::operator-- ( ) volatile
inlinenoexceptinherited

Definition at line 396 of file atomic_base.h.

◆ operator--() [3/4]

__int_type std::__atomic_base< long >::operator-- ( int  )
inlinenoexceptinherited

Definition at line 376 of file atomic_base.h.

◆ operator--() [4/4]

__int_type std::__atomic_base< long >::operator-- ( int  ) volatile
inlinenoexceptinherited

Definition at line 380 of file atomic_base.h.

◆ operator-=() [1/2]

__int_type std::__atomic_base< long >::operator-= ( __int_type  __i)
inlinenoexceptinherited

Definition at line 408 of file atomic_base.h.

◆ operator-=() [2/2]

__int_type std::__atomic_base< long >::operator-= ( __int_type  __i) volatile
inlinenoexceptinherited

Definition at line 412 of file atomic_base.h.

◆ operator^=() [1/2]

__int_type std::__atomic_base< long >::operator^= ( __int_type  __i)
inlinenoexceptinherited

Definition at line 432 of file atomic_base.h.

◆ operator^=() [2/2]

__int_type std::__atomic_base< long >::operator^= ( __int_type  __i) volatile
inlinenoexceptinherited

Definition at line 436 of file atomic_base.h.

◆ operator|=() [1/2]

__int_type std::__atomic_base< long >::operator|= ( __int_type  __i)
inlinenoexceptinherited

Definition at line 424 of file atomic_base.h.

◆ operator|=() [2/2]

__int_type std::__atomic_base< long >::operator|= ( __int_type  __i) volatile
inlinenoexceptinherited

Definition at line 428 of file atomic_base.h.

◆ store() [1/2]

void std::__atomic_base< long >::store ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexceptinherited

Definition at line 456 of file atomic_base.h.

◆ store() [2/2]

void std::__atomic_base< long >::store ( __int_type  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexceptinherited

Definition at line 468 of file atomic_base.h.

Member Data Documentation

◆ is_always_lock_free

constexpr bool std::atomic< long >::is_always_lock_free
staticconstexpr

Definition at line 885 of file atomic.


The documentation for this struct was generated from the following file: