include/amino/atomic_base/generic.h File Reference

Go to the source code of this file.

Defines

#define _ATOMIC_LOAD_(__a__, __x__)
#define _ATOMIC_STORE_(__a__, __m__, __x__)
#define _ATOMIC_MODIFY_(__a__, __o__, __m__, __x__)
#define _ATOMIC_CMPSWP_(__a__, __e__, __m__, __x__)
#define _ATOMIC_FENCE_(__a__, __x__)
#define ATOMIC_INTEGRAL_LOCK_FREE   0
#define ATOMIC_ADDRESS_LOCK_FREE   0
#define atomic_fetch_add_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, +=, __m__, __x__ )
#define atomic_fetch_add(__a__, __m__)   _ATOMIC_MODIFY_( __a__, +=, __m__, memory_order_seq_cst )
#define atomic_fetch_sub_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, -=, __m__, __x__ )
#define atomic_fetch_sub(__a__, __m__)   _ATOMIC_MODIFY_( __a__, -=, __m__, memory_order_seq_cst )
#define atomic_fetch_and_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, &=, __m__, __x__ )
#define atomic_fetch_and(__a__, __m__)   _ATOMIC_MODIFY_( __a__, &=, __m__, memory_order_seq_cst )
#define atomic_fetch_or_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, |=, __m__, __x__ )
#define atomic_fetch_or(__a__, __m__)   _ATOMIC_MODIFY_( __a__, |=, __m__, memory_order_seq_cst )
#define atomic_fetch_xor_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, ^=, __m__, __x__ )
#define atomic_fetch_xor(__a__, __m__)   _ATOMIC_MODIFY_( __a__, ^=, __m__, memory_order_seq_cst )

Functions

bool atomic_flag_test_and_set (volatile atomic_flag *)
bool atomic_flag_test_and_set_explicit (volatile atomic_flag *, memory_order)
void atomic_flag_clear (volatile atomic_flag *)
void atomic_flag_clear_explicit (volatile atomic_flag *, memory_order)
void atomic_flag_fence (const volatile atomic_flag *, memory_order)
void __atomic_flag_wait__ (volatile atomic_flag *)
void __atomic_flag_wait_explicit__ (volatile atomic_flag *, memory_order)
volatile atomic_flag__atomic_flag_for_address__ (const volatile void *__z__) __attribute__((const ))
void * atomic_fetch_add_explicit (volatile atomic_address *__a__, ptrdiff_t __m__, memory_order __x__)
void * atomic_fetch_add (volatile atomic_address *__a__, ptrdiff_t __m__)
void * atomic_fetch_sub_explicit (volatile atomic_address *__a__, ptrdiff_t __m__, memory_order __x__)
void * atomic_fetch_sub (volatile atomic_address *__a__, ptrdiff_t __m__)
char atomic_fetch_add_explicit (volatile atomic_char *__a__, char __m__, memory_order __x__)
char atomic_fetch_add (volatile atomic_char *__a__, char __m__)
char atomic_fetch_sub_explicit (volatile atomic_char *__a__, char __m__, memory_order __x__)
char atomic_fetch_sub (volatile atomic_char *__a__, char __m__)
char atomic_fetch_and_explicit (volatile atomic_char *__a__, char __m__, memory_order __x__)
char atomic_fetch_and (volatile atomic_char *__a__, char __m__)
char atomic_fetch_or_explicit (volatile atomic_char *__a__, char __m__, memory_order __x__)
char atomic_fetch_or (volatile atomic_char *__a__, char __m__)
char atomic_fetch_xor_explicit (volatile atomic_char *__a__, char __m__, memory_order __x__)
char atomic_fetch_xor (volatile atomic_char *__a__, char __m__)
signed char atomic_fetch_add_explicit (volatile atomic_schar *__a__, signed char __m__, memory_order __x__)
signed char atomic_fetch_add (volatile atomic_schar *__a__, signed char __m__)
signed char atomic_fetch_sub_explicit (volatile atomic_schar *__a__, signed char __m__, memory_order __x__)
signed char atomic_fetch_sub (volatile atomic_schar *__a__, signed char __m__)
signed char atomic_fetch_and_explicit (volatile atomic_schar *__a__, signed char __m__, memory_order __x__)
signed char atomic_fetch_and (volatile atomic_schar *__a__, signed char __m__)
signed char atomic_fetch_or_explicit (volatile atomic_schar *__a__, signed char __m__, memory_order __x__)
signed char atomic_fetch_or (volatile atomic_schar *__a__, signed char __m__)
signed char atomic_fetch_xor_explicit (volatile atomic_schar *__a__, signed char __m__, memory_order __x__)
signed char atomic_fetch_xor (volatile atomic_schar *__a__, signed char __m__)
unsigned char atomic_fetch_add_explicit (volatile atomic_uchar *__a__, unsigned char __m__, memory_order __x__)
unsigned char atomic_fetch_add (volatile atomic_uchar *__a__, unsigned char __m__)
unsigned char atomic_fetch_sub_explicit (volatile atomic_uchar *__a__, unsigned char __m__, memory_order __x__)
unsigned char atomic_fetch_sub (volatile atomic_uchar *__a__, unsigned char __m__)
unsigned char atomic_fetch_and_explicit (volatile atomic_uchar *__a__, unsigned char __m__, memory_order __x__)
unsigned char atomic_fetch_and (volatile atomic_uchar *__a__, unsigned char __m__)
unsigned char atomic_fetch_or_explicit (volatile atomic_uchar *__a__, unsigned char __m__, memory_order __x__)
unsigned char atomic_fetch_or (volatile atomic_uchar *__a__, unsigned char __m__)
unsigned char atomic_fetch_xor_explicit (volatile atomic_uchar *__a__, unsigned char __m__, memory_order __x__)
unsigned char atomic_fetch_xor (volatile atomic_uchar *__a__, unsigned char __m__)
short atomic_fetch_add_explicit (volatile atomic_short *__a__, short __m__, memory_order __x__)
short atomic_fetch_add (volatile atomic_short *__a__, short __m__)
short atomic_fetch_sub_explicit (volatile atomic_short *__a__, short __m__, memory_order __x__)
short atomic_fetch_sub (volatile atomic_short *__a__, short __m__)
short atomic_fetch_and_explicit (volatile atomic_short *__a__, short __m__, memory_order __x__)
short atomic_fetch_and (volatile atomic_short *__a__, short __m__)
short atomic_fetch_or_explicit (volatile atomic_short *__a__, short __m__, memory_order __x__)
short atomic_fetch_or (volatile atomic_short *__a__, short __m__)
short atomic_fetch_xor_explicit (volatile atomic_short *__a__, short __m__, memory_order __x__)
short atomic_fetch_xor (volatile atomic_short *__a__, short __m__)
unsigned short atomic_fetch_add_explicit (volatile atomic_ushort *__a__, unsigned short __m__, memory_order __x__)
unsigned short atomic_fetch_add (volatile atomic_ushort *__a__, unsigned short __m__)
unsigned short atomic_fetch_sub_explicit (volatile atomic_ushort *__a__, unsigned short __m__, memory_order __x__)
unsigned short atomic_fetch_sub (volatile atomic_ushort *__a__, unsigned short __m__)
unsigned short atomic_fetch_and_explicit (volatile atomic_ushort *__a__, unsigned short __m__, memory_order __x__)
unsigned short atomic_fetch_and (volatile atomic_ushort *__a__, unsigned short __m__)
unsigned short atomic_fetch_or_explicit (volatile atomic_ushort *__a__, unsigned short __m__, memory_order __x__)
unsigned short atomic_fetch_or (volatile atomic_ushort *__a__, unsigned short __m__)
unsigned short atomic_fetch_xor_explicit (volatile atomic_ushort *__a__, unsigned short __m__, memory_order __x__)
unsigned short atomic_fetch_xor (volatile atomic_ushort *__a__, unsigned short __m__)
int atomic_fetch_add_explicit (volatile atomic_int *__a__, int __m__, memory_order __x__)
int atomic_fetch_add (volatile atomic_int *__a__, int __m__)
int atomic_fetch_sub_explicit (volatile atomic_int *__a__, int __m__, memory_order __x__)
int atomic_fetch_sub (volatile atomic_int *__a__, int __m__)
int atomic_fetch_and_explicit (volatile atomic_int *__a__, int __m__, memory_order __x__)
int atomic_fetch_and (volatile atomic_int *__a__, int __m__)
int atomic_fetch_or_explicit (volatile atomic_int *__a__, int __m__, memory_order __x__)
int atomic_fetch_or (volatile atomic_int *__a__, int __m__)
int atomic_fetch_xor_explicit (volatile atomic_int *__a__, int __m__, memory_order __x__)
int atomic_fetch_xor (volatile atomic_int *__a__, int __m__)
unsigned int atomic_fetch_add_explicit (volatile atomic_uint *__a__, unsigned int __m__, memory_order __x__)
unsigned int atomic_fetch_add (volatile atomic_uint *__a__, unsigned int __m__)
unsigned int atomic_fetch_sub_explicit (volatile atomic_uint *__a__, unsigned int __m__, memory_order __x__)
unsigned int atomic_fetch_sub (volatile atomic_uint *__a__, unsigned int __m__)
unsigned int atomic_fetch_and_explicit (volatile atomic_uint *__a__, unsigned int __m__, memory_order __x__)
unsigned int atomic_fetch_and (volatile atomic_uint *__a__, unsigned int __m__)
unsigned int atomic_fetch_or_explicit (volatile atomic_uint *__a__, unsigned int __m__, memory_order __x__)
unsigned int atomic_fetch_or (volatile atomic_uint *__a__, unsigned int __m__)
unsigned int atomic_fetch_xor_explicit (volatile atomic_uint *__a__, unsigned int __m__, memory_order __x__)
unsigned int atomic_fetch_xor (volatile atomic_uint *__a__, unsigned int __m__)
long atomic_fetch_add_explicit (volatile atomic_long *__a__, long __m__, memory_order __x__)
long atomic_fetch_add (volatile atomic_long *__a__, long __m__)
long atomic_fetch_sub_explicit (volatile atomic_long *__a__, long __m__, memory_order __x__)
long atomic_fetch_sub (volatile atomic_long *__a__, long __m__)
long atomic_fetch_and_explicit (volatile atomic_long *__a__, long __m__, memory_order __x__)
long atomic_fetch_and (volatile atomic_long *__a__, long __m__)
long atomic_fetch_or_explicit (volatile atomic_long *__a__, long __m__, memory_order __x__)
long atomic_fetch_or (volatile atomic_long *__a__, long __m__)
long atomic_fetch_xor_explicit (volatile atomic_long *__a__, long __m__, memory_order __x__)
long atomic_fetch_xor (volatile atomic_long *__a__, long __m__)
unsigned long atomic_fetch_add_explicit (volatile atomic_ulong *__a__, unsigned long __m__, memory_order __x__)
unsigned long atomic_fetch_add (volatile atomic_ulong *__a__, unsigned long __m__)
unsigned long atomic_fetch_sub_explicit (volatile atomic_ulong *__a__, unsigned long __m__, memory_order __x__)
unsigned long atomic_fetch_sub (volatile atomic_ulong *__a__, unsigned long __m__)
unsigned long atomic_fetch_and_explicit (volatile atomic_ulong *__a__, unsigned long __m__, memory_order __x__)
unsigned long atomic_fetch_and (volatile atomic_ulong *__a__, unsigned long __m__)
unsigned long atomic_fetch_or_explicit (volatile atomic_ulong *__a__, unsigned long __m__, memory_order __x__)
unsigned long atomic_fetch_or (volatile atomic_ulong *__a__, unsigned long __m__)
unsigned long atomic_fetch_xor_explicit (volatile atomic_ulong *__a__, unsigned long __m__, memory_order __x__)
unsigned long atomic_fetch_xor (volatile atomic_ulong *__a__, unsigned long __m__)
long long atomic_fetch_add_explicit (volatile atomic_llong *__a__, long long __m__, memory_order __x__)
long long atomic_fetch_add (volatile atomic_llong *__a__, long long __m__)
long long atomic_fetch_sub_explicit (volatile atomic_llong *__a__, long long __m__, memory_order __x__)
long long atomic_fetch_sub (volatile atomic_llong *__a__, long long __m__)
long long atomic_fetch_and_explicit (volatile atomic_llong *__a__, long long __m__, memory_order __x__)
long long atomic_fetch_and (volatile atomic_llong *__a__, long long __m__)
long long atomic_fetch_or_explicit (volatile atomic_llong *__a__, long long __m__, memory_order __x__)
long long atomic_fetch_or (volatile atomic_llong *__a__, long long __m__)
long long atomic_fetch_xor_explicit (volatile atomic_llong *__a__, long long __m__, memory_order __x__)
long long atomic_fetch_xor (volatile atomic_llong *__a__, long long __m__)
unsigned long long atomic_fetch_add_explicit (volatile atomic_ullong *__a__, unsigned long long __m__, memory_order __x__)
unsigned long long atomic_fetch_add (volatile atomic_ullong *__a__, unsigned long long __m__)
unsigned long long atomic_fetch_sub_explicit (volatile atomic_ullong *__a__, unsigned long long __m__, memory_order __x__)
unsigned long long atomic_fetch_sub (volatile atomic_ullong *__a__, unsigned long long __m__)
unsigned long long atomic_fetch_and_explicit (volatile atomic_ullong *__a__, unsigned long long __m__, memory_order __x__)
unsigned long long atomic_fetch_and (volatile atomic_ullong *__a__, unsigned long long __m__)
unsigned long long atomic_fetch_or_explicit (volatile atomic_ullong *__a__, unsigned long long __m__, memory_order __x__)
unsigned long long atomic_fetch_or (volatile atomic_ullong *__a__, unsigned long long __m__)
unsigned long long atomic_fetch_xor_explicit (volatile atomic_ullong *__a__, unsigned long long __m__, memory_order __x__)
unsigned long long atomic_fetch_xor (volatile atomic_ullong *__a__, unsigned long long __m__)
wchar_t atomic_fetch_add_explicit (volatile atomic_wchar_t *__a__, wchar_t __m__, memory_order __x__)
wchar_t atomic_fetch_add (volatile atomic_wchar_t *__a__, wchar_t __m__)
wchar_t atomic_fetch_sub_explicit (volatile atomic_wchar_t *__a__, wchar_t __m__, memory_order __x__)
wchar_t atomic_fetch_sub (volatile atomic_wchar_t *__a__, wchar_t __m__)
wchar_t atomic_fetch_and_explicit (volatile atomic_wchar_t *__a__, wchar_t __m__, memory_order __x__)
wchar_t atomic_fetch_and (volatile atomic_wchar_t *__a__, wchar_t __m__)
wchar_t atomic_fetch_or_explicit (volatile atomic_wchar_t *__a__, wchar_t __m__, memory_order __x__)
wchar_t atomic_fetch_or (volatile atomic_wchar_t *__a__, wchar_t __m__)
wchar_t atomic_fetch_xor_explicit (volatile atomic_wchar_t *__a__, wchar_t __m__, memory_order __x__)
wchar_t atomic_fetch_xor (volatile atomic_wchar_t *__a__, wchar_t __m__)


Define Documentation

#define _ATOMIC_CMPSWP_ ( __a__,
__e__,
__m__,
__x__   ) 

Value:

({ volatile __typeof__((__a__)->__f__)* __p__ = &((__a__)->__f__); \
     __typeof__(__e__) __q__ = (__e__); \
     __typeof__(__m__) __v__ = (__m__); \
     bool __r__; \
     volatile atomic_flag* __g__ = __atomic_flag_for_address__( __p__ ); \
     __atomic_flag_wait_explicit__( __g__, __x__ ); \
     __typeof__((__a__)->__f__) __t__ = *__p__; \
     if ( __t__ == *__q__ ) { *__p__ = __v__; __r__ = true; } \
     else { *__q__ = __t__; __r__ = false; } \
     atomic_flag_clear_explicit( __g__, __x__ ); \
     __r__; })

#define _ATOMIC_FENCE_ ( __a__,
__x__   ) 

Value:

({ volatile __typeof__((__a__)->__f__)* __p__ = &((__a__)->__f__); \
     volatile atomic_flag* __g__ = __atomic_flag_for_address__( __p__ ); \
     atomic_flag_fence( __g__, __x__ ); \
     })

#define _ATOMIC_LOAD_ ( __a__,
__x__   ) 

Value:

({ volatile __typeof__((__a__)->__f__)* __p__ = &((__a__)->__f__); \
     volatile atomic_flag* __g__ = __atomic_flag_for_address__( __p__ ); \
     __atomic_flag_wait_explicit__( __g__, __x__ ); \
     __typeof__((__a__)->__f__) __r__ = *__p__; \
     atomic_flag_clear_explicit( __g__, __x__ ); \
     __r__; })

#define _ATOMIC_MODIFY_ ( __a__,
__o__,
__m__,
__x__   ) 

Value:

({ volatile __typeof__((__a__)->__f__)* __p__ = &((__a__)->__f__); \
     __typeof__(__m__) __v__ = (__m__); \
     volatile atomic_flag* __g__ = __atomic_flag_for_address__( __p__ ); \
     __atomic_flag_wait_explicit__( __g__, __x__ ); \
     __typeof__((__a__)->__f__) __r__ = *__p__; \
     *__p__ __o__ __v__; \
     atomic_flag_clear_explicit( __g__, __x__ ); \
     __r__; })

#define _ATOMIC_STORE_ ( __a__,
__m__,
__x__   ) 

Value:

({ volatile __typeof__((__a__)->__f__)* __p__ = &((__a__)->__f__); \
     __typeof__(__m__) __v__ = (__m__); \
     volatile atomic_flag* __g__ = __atomic_flag_for_address__( __p__ ); \
     __atomic_flag_wait_explicit__( __g__, __x__ ); \
     *__p__ = __v__; \
     atomic_flag_clear_explicit( __g__, __x__ ); \
     __v__; })

#define ATOMIC_ADDRESS_LOCK_FREE   0

#define atomic_fetch_add ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, +=, __m__, memory_order_seq_cst )

#define atomic_fetch_add_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, +=, __m__, __x__ )

#define atomic_fetch_and ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, &=, __m__, memory_order_seq_cst )

#define atomic_fetch_and_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, &=, __m__, __x__ )

#define atomic_fetch_or ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, |=, __m__, memory_order_seq_cst )

#define atomic_fetch_or_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, |=, __m__, __x__ )

#define atomic_fetch_sub ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, -=, __m__, memory_order_seq_cst )

#define atomic_fetch_sub_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, -=, __m__, __x__ )

#define atomic_fetch_xor ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, ^=, __m__, memory_order_seq_cst )

#define atomic_fetch_xor_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, ^=, __m__, __x__ )

#define ATOMIC_INTEGRAL_LOCK_FREE   0


Function Documentation

volatile atomic_flag* __atomic_flag_for_address__ ( const volatile void *  __z__  )  const

void __atomic_flag_wait__ ( volatile atomic_flag  ) 

void __atomic_flag_wait_explicit__ ( volatile atomic_flag ,
memory_order   
)

wchar_t atomic_fetch_add ( volatile atomic_wchar_t __a__,
wchar_t  __m__ 
) [inline]

unsigned long long atomic_fetch_add ( volatile atomic_ullong __a__,
unsigned long long  __m__ 
) [inline]

long long atomic_fetch_add ( volatile atomic_llong __a__,
long long  __m__ 
) [inline]

unsigned long atomic_fetch_add ( volatile atomic_ulong __a__,
unsigned long  __m__ 
) [inline]

long atomic_fetch_add ( volatile atomic_long __a__,
long  __m__ 
) [inline]

unsigned int atomic_fetch_add ( volatile atomic_uint __a__,
unsigned int  __m__ 
) [inline]

int atomic_fetch_add ( volatile atomic_int __a__,
int  __m__ 
) [inline]

unsigned short atomic_fetch_add ( volatile atomic_ushort __a__,
unsigned short  __m__ 
) [inline]

short atomic_fetch_add ( volatile atomic_short __a__,
short  __m__ 
) [inline]

unsigned char atomic_fetch_add ( volatile atomic_uchar __a__,
unsigned char  __m__ 
) [inline]

signed char atomic_fetch_add ( volatile atomic_schar __a__,
signed char  __m__ 
) [inline]

char atomic_fetch_add ( volatile atomic_char __a__,
char  __m__ 
) [inline]

void* atomic_fetch_add ( volatile atomic_address __a__,
ptrdiff_t  __m__ 
) [inline]

wchar_t atomic_fetch_add_explicit ( volatile atomic_wchar_t __a__,
wchar_t  __m__,
memory_order  __x__ 
) [inline]

unsigned long long atomic_fetch_add_explicit ( volatile atomic_ullong __a__,
unsigned long long  __m__,
memory_order  __x__ 
) [inline]

long long atomic_fetch_add_explicit ( volatile atomic_llong __a__,
long long  __m__,
memory_order  __x__ 
) [inline]

unsigned long atomic_fetch_add_explicit ( volatile atomic_ulong __a__,
unsigned long  __m__,
memory_order  __x__ 
) [inline]

long atomic_fetch_add_explicit ( volatile atomic_long __a__,
long  __m__,
memory_order  __x__ 
) [inline]

unsigned int atomic_fetch_add_explicit ( volatile atomic_uint __a__,
unsigned int  __m__,
memory_order  __x__ 
) [inline]

int atomic_fetch_add_explicit ( volatile atomic_int __a__,
int  __m__,
memory_order  __x__ 
) [inline]

unsigned short atomic_fetch_add_explicit ( volatile atomic_ushort __a__,
unsigned short  __m__,
memory_order  __x__ 
) [inline]

short atomic_fetch_add_explicit ( volatile atomic_short __a__,
short  __m__,
memory_order  __x__ 
) [inline]

unsigned char atomic_fetch_add_explicit ( volatile atomic_uchar __a__,
unsigned char  __m__,
memory_order  __x__ 
) [inline]

signed char atomic_fetch_add_explicit ( volatile atomic_schar __a__,
signed char  __m__,
memory_order  __x__ 
) [inline]

char atomic_fetch_add_explicit ( volatile atomic_char __a__,
char  __m__,
memory_order  __x__ 
) [inline]

void* atomic_fetch_add_explicit ( volatile atomic_address __a__,
ptrdiff_t  __m__,
memory_order  __x__ 
) [inline]

wchar_t atomic_fetch_and ( volatile atomic_wchar_t __a__,
wchar_t  __m__ 
) [inline]

unsigned long long atomic_fetch_and ( volatile atomic_ullong __a__,
unsigned long long  __m__ 
) [inline]

long long atomic_fetch_and ( volatile atomic_llong __a__,
long long  __m__ 
) [inline]

unsigned long atomic_fetch_and ( volatile atomic_ulong __a__,
unsigned long  __m__ 
) [inline]

long atomic_fetch_and ( volatile atomic_long __a__,
long  __m__ 
) [inline]

unsigned int atomic_fetch_and ( volatile atomic_uint __a__,
unsigned int  __m__ 
) [inline]

int atomic_fetch_and ( volatile atomic_int __a__,
int  __m__ 
) [inline]

unsigned short atomic_fetch_and ( volatile atomic_ushort __a__,
unsigned short  __m__ 
) [inline]

short atomic_fetch_and ( volatile atomic_short __a__,
short  __m__ 
) [inline]

unsigned char atomic_fetch_and ( volatile atomic_uchar __a__,
unsigned char  __m__ 
) [inline]

signed char atomic_fetch_and ( volatile atomic_schar __a__,
signed char  __m__ 
) [inline]

char atomic_fetch_and ( volatile atomic_char __a__,
char  __m__ 
) [inline]

wchar_t atomic_fetch_and_explicit ( volatile atomic_wchar_t __a__,
wchar_t  __m__,
memory_order  __x__ 
) [inline]

unsigned long long atomic_fetch_and_explicit ( volatile atomic_ullong __a__,
unsigned long long  __m__,
memory_order  __x__ 
) [inline]

long long atomic_fetch_and_explicit ( volatile atomic_llong __a__,
long long  __m__,
memory_order  __x__ 
) [inline]

unsigned long atomic_fetch_and_explicit ( volatile atomic_ulong __a__,
unsigned long  __m__,
memory_order  __x__ 
) [inline]

long atomic_fetch_and_explicit ( volatile atomic_long __a__,
long  __m__,
memory_order  __x__ 
) [inline]

unsigned int atomic_fetch_and_explicit ( volatile atomic_uint __a__,
unsigned int  __m__,
memory_order  __x__ 
) [inline]

int atomic_fetch_and_explicit ( volatile atomic_int __a__,
int  __m__,
memory_order  __x__ 
) [inline]

unsigned short atomic_fetch_and_explicit ( volatile atomic_ushort __a__,
unsigned short  __m__,
memory_order  __x__ 
) [inline]

short atomic_fetch_and_explicit ( volatile atomic_short __a__,
short  __m__,
memory_order  __x__ 
) [inline]

unsigned char atomic_fetch_and_explicit ( volatile atomic_uchar __a__,
unsigned char  __m__,
memory_order  __x__ 
) [inline]

signed char atomic_fetch_and_explicit ( volatile atomic_schar __a__,
signed char  __m__,
memory_order  __x__ 
) [inline]

char atomic_fetch_and_explicit ( volatile atomic_char __a__,
char  __m__,
memory_order  __x__ 
) [inline]

wchar_t atomic_fetch_or ( volatile atomic_wchar_t __a__,
wchar_t  __m__ 
) [inline]

unsigned long long atomic_fetch_or ( volatile atomic_ullong __a__,
unsigned long long  __m__ 
) [inline]

long long atomic_fetch_or ( volatile atomic_llong __a__,
long long  __m__ 
) [inline]

unsigned long atomic_fetch_or ( volatile atomic_ulong __a__,
unsigned long  __m__ 
) [inline]

long atomic_fetch_or ( volatile atomic_long __a__,
long  __m__ 
) [inline]

unsigned int atomic_fetch_or ( volatile atomic_uint __a__,
unsigned int  __m__ 
) [inline]

int atomic_fetch_or ( volatile atomic_int __a__,
int  __m__ 
) [inline]

unsigned short atomic_fetch_or ( volatile atomic_ushort __a__,
unsigned short  __m__ 
) [inline]

short atomic_fetch_or ( volatile atomic_short __a__,
short  __m__ 
) [inline]

unsigned char atomic_fetch_or ( volatile atomic_uchar __a__,
unsigned char  __m__ 
) [inline]

signed char atomic_fetch_or ( volatile atomic_schar __a__,
signed char  __m__ 
) [inline]

char atomic_fetch_or ( volatile atomic_char __a__,
char  __m__ 
) [inline]

wchar_t atomic_fetch_or_explicit ( volatile atomic_wchar_t __a__,
wchar_t  __m__,
memory_order  __x__ 
) [inline]

unsigned long long atomic_fetch_or_explicit ( volatile atomic_ullong __a__,
unsigned long long  __m__,
memory_order  __x__ 
) [inline]

long long atomic_fetch_or_explicit ( volatile atomic_llong __a__,
long long  __m__,
memory_order  __x__ 
) [inline]

unsigned long atomic_fetch_or_explicit ( volatile atomic_ulong __a__,
unsigned long  __m__,
memory_order  __x__ 
) [inline]

long atomic_fetch_or_explicit ( volatile atomic_long __a__,
long  __m__,
memory_order  __x__ 
) [inline]

unsigned int atomic_fetch_or_explicit ( volatile atomic_uint __a__,
unsigned int  __m__,
memory_order  __x__ 
) [inline]

int atomic_fetch_or_explicit ( volatile atomic_int __a__,
int  __m__,
memory_order  __x__ 
) [inline]

unsigned short atomic_fetch_or_explicit ( volatile atomic_ushort __a__,
unsigned short  __m__,
memory_order  __x__ 
) [inline]

short atomic_fetch_or_explicit ( volatile atomic_short __a__,
short  __m__,
memory_order  __x__ 
) [inline]

unsigned char atomic_fetch_or_explicit ( volatile atomic_uchar __a__,
unsigned char  __m__,
memory_order  __x__ 
) [inline]

signed char atomic_fetch_or_explicit ( volatile atomic_schar __a__,
signed char  __m__,
memory_order  __x__ 
) [inline]

char atomic_fetch_or_explicit ( volatile atomic_char __a__,
char  __m__,
memory_order  __x__ 
) [inline]

wchar_t atomic_fetch_sub ( volatile atomic_wchar_t __a__,
wchar_t  __m__ 
) [inline]

unsigned long long atomic_fetch_sub ( volatile atomic_ullong __a__,
unsigned long long  __m__ 
) [inline]

long long atomic_fetch_sub ( volatile atomic_llong __a__,
long long  __m__ 
) [inline]

unsigned long atomic_fetch_sub ( volatile atomic_ulong __a__,
unsigned long  __m__ 
) [inline]

long atomic_fetch_sub ( volatile atomic_long __a__,
long  __m__ 
) [inline]

unsigned int atomic_fetch_sub ( volatile atomic_uint __a__,
unsigned int  __m__ 
) [inline]

int atomic_fetch_sub ( volatile atomic_int __a__,
int  __m__ 
) [inline]

unsigned short atomic_fetch_sub ( volatile atomic_ushort __a__,
unsigned short  __m__ 
) [inline]

short atomic_fetch_sub ( volatile atomic_short __a__,
short  __m__ 
) [inline]

unsigned char atomic_fetch_sub ( volatile atomic_uchar __a__,
unsigned char  __m__ 
) [inline]

signed char atomic_fetch_sub ( volatile atomic_schar __a__,
signed char  __m__ 
) [inline]

char atomic_fetch_sub ( volatile atomic_char __a__,
char  __m__ 
) [inline]

void* atomic_fetch_sub ( volatile atomic_address __a__,
ptrdiff_t  __m__ 
) [inline]

wchar_t atomic_fetch_sub_explicit ( volatile atomic_wchar_t __a__,
wchar_t  __m__,
memory_order  __x__ 
) [inline]

unsigned long long atomic_fetch_sub_explicit ( volatile atomic_ullong __a__,
unsigned long long  __m__,
memory_order  __x__ 
) [inline]

long long atomic_fetch_sub_explicit ( volatile atomic_llong __a__,
long long  __m__,
memory_order  __x__ 
) [inline]

unsigned long atomic_fetch_sub_explicit ( volatile atomic_ulong __a__,
unsigned long  __m__,
memory_order  __x__ 
) [inline]

long atomic_fetch_sub_explicit ( volatile atomic_long __a__,
long  __m__,
memory_order  __x__ 
) [inline]

unsigned int atomic_fetch_sub_explicit ( volatile atomic_uint __a__,
unsigned int  __m__,
memory_order  __x__ 
) [inline]

int atomic_fetch_sub_explicit ( volatile atomic_int __a__,
int  __m__,
memory_order  __x__ 
) [inline]

unsigned short atomic_fetch_sub_explicit ( volatile atomic_ushort __a__,
unsigned short  __m__,
memory_order  __x__ 
) [inline]

short atomic_fetch_sub_explicit ( volatile atomic_short __a__,
short  __m__,
memory_order  __x__ 
) [inline]

unsigned char atomic_fetch_sub_explicit ( volatile atomic_uchar __a__,
unsigned char  __m__,
memory_order  __x__ 
) [inline]

signed char atomic_fetch_sub_explicit ( volatile atomic_schar __a__,
signed char  __m__,
memory_order  __x__ 
) [inline]

char atomic_fetch_sub_explicit ( volatile atomic_char __a__,
char  __m__,
memory_order  __x__ 
) [inline]

void* atomic_fetch_sub_explicit ( volatile atomic_address __a__,
ptrdiff_t  __m__,
memory_order  __x__ 
) [inline]

wchar_t atomic_fetch_xor ( volatile atomic_wchar_t __a__,
wchar_t  __m__ 
) [inline]

unsigned long long atomic_fetch_xor ( volatile atomic_ullong __a__,
unsigned long long  __m__ 
) [inline]

long long atomic_fetch_xor ( volatile atomic_llong __a__,
long long  __m__ 
) [inline]

unsigned long atomic_fetch_xor ( volatile atomic_ulong __a__,
unsigned long  __m__ 
) [inline]

long atomic_fetch_xor ( volatile atomic_long __a__,
long  __m__ 
) [inline]

unsigned int atomic_fetch_xor ( volatile atomic_uint __a__,
unsigned int  __m__ 
) [inline]

int atomic_fetch_xor ( volatile atomic_int __a__,
int  __m__ 
) [inline]

unsigned short atomic_fetch_xor ( volatile atomic_ushort __a__,
unsigned short  __m__ 
) [inline]

short atomic_fetch_xor ( volatile atomic_short __a__,
short  __m__ 
) [inline]

unsigned char atomic_fetch_xor ( volatile atomic_uchar __a__,
unsigned char  __m__ 
) [inline]

signed char atomic_fetch_xor ( volatile atomic_schar __a__,
signed char  __m__ 
) [inline]

char atomic_fetch_xor ( volatile atomic_char __a__,
char  __m__ 
) [inline]

wchar_t atomic_fetch_xor_explicit ( volatile atomic_wchar_t __a__,
wchar_t  __m__,
memory_order  __x__ 
) [inline]

unsigned long long atomic_fetch_xor_explicit ( volatile atomic_ullong __a__,
unsigned long long  __m__,
memory_order  __x__ 
) [inline]

long long atomic_fetch_xor_explicit ( volatile atomic_llong __a__,
long long  __m__,
memory_order  __x__ 
) [inline]

unsigned long atomic_fetch_xor_explicit ( volatile atomic_ulong __a__,
unsigned long  __m__,
memory_order  __x__ 
) [inline]

long atomic_fetch_xor_explicit ( volatile atomic_long __a__,
long  __m__,
memory_order  __x__ 
) [inline]

unsigned int atomic_fetch_xor_explicit ( volatile atomic_uint __a__,
unsigned int  __m__,
memory_order  __x__ 
) [inline]

int atomic_fetch_xor_explicit ( volatile atomic_int __a__,
int  __m__,
memory_order  __x__ 
) [inline]

unsigned short atomic_fetch_xor_explicit ( volatile atomic_ushort __a__,
unsigned short  __m__,
memory_order  __x__ 
) [inline]

short atomic_fetch_xor_explicit ( volatile atomic_short __a__,
short  __m__,
memory_order  __x__ 
) [inline]

unsigned char atomic_fetch_xor_explicit ( volatile atomic_uchar __a__,
unsigned char  __m__,
memory_order  __x__ 
) [inline]

signed char atomic_fetch_xor_explicit ( volatile atomic_schar __a__,
signed char  __m__,
memory_order  __x__ 
) [inline]

char atomic_fetch_xor_explicit ( volatile atomic_char __a__,
char  __m__,
memory_order  __x__ 
) [inline]

void atomic_flag_clear ( volatile atomic_flag  ) 

void atomic_flag_clear_explicit ( volatile atomic_flag ,
memory_order   
)

void atomic_flag_fence ( const volatile atomic_flag ,
memory_order   
)

bool atomic_flag_test_and_set ( volatile atomic_flag  ) 

bool atomic_flag_test_and_set_explicit ( volatile atomic_flag ,
memory_order   
)


Generated on Tue Dec 9 13:39:39 2008 for Amino by  doxygen 1.5.6