include/amino/impatomic.h File Reference

#include <amino/config.h>
#include <stddef.h>
#include <stdbool.h>
#include "atomic_base/generic.h"

Go to the source code of this file.

Classes

struct  atomic_flag
struct  atomic_bool
struct  atomic_address
struct  atomic_char
struct  atomic_schar
struct  atomic_uchar
struct  atomic_short
struct  atomic_ushort
struct  atomic_int
struct  atomic_uint
struct  atomic_long
struct  atomic_ulong
struct  atomic_llong
struct  atomic_ullong

Defines

#define CPP0X(feature)
#define ALIGN_DEF
#define ATOMIC_FLAG_INIT   { false }
#define atomic_is_lock_free(__a__)   true
#define atomic_load(__a__)   _ATOMIC_LOAD_( __a__, memory_order_seq_cst )
#define atomic_load_explicit(__a__, __x__)   _ATOMIC_LOAD_( __a__, __x__ )
#define atomic_store(__a__, __m__)   _ATOMIC_STORE_( __a__, __m__, memory_order_seq_cst )
#define atomic_store_explicit(__a__, __m__, __x__)   _ATOMIC_STORE_( __a__, __m__, __x__ )
#define atomic_swap(__a__, __m__)   _ATOMIC_MODIFY_( __a__, ops_swap, __m__, memory_order_seq_cst )
#define atomic_swap_explicit(__a__, __m__, __x__)   _ATOMIC_MODIFY_( __a__, ops_swap, __m__, __x__ )
#define atomic_compare_swap(__a__, __e__, __m__)   _ATOMIC_CMPSWP_( __a__, __e__, __m__, memory_order_seq_cst )
#define atomic_compare_swap_explicit(__a__, __e__, __m__, __x__, __y__)   _ATOMIC_CMPSWP_( __a__, __e__, __m__, __x__ )
#define atomic_fence(__a__, __x__)   ({ _ATOMIC_FENCE_( __a__, __x__ ); })

Typedefs

typedef atomic_schar atomic_int_least8_t
typedef atomic_uchar atomic_uint_least8_t
typedef atomic_short atomic_int_least16_t
typedef atomic_ushort atomic_uint_least16_t
typedef atomic_int atomic_int_least32_t
typedef atomic_uint atomic_uint_least32_t
typedef atomic_llong atomic_int_least64_t
typedef atomic_ullong atomic_uint_least64_t
typedef atomic_schar atomic_int_fast8_t
typedef atomic_uchar atomic_uint_fast8_t
typedef atomic_short atomic_int_fast16_t
typedef atomic_ushort atomic_uint_fast16_t
typedef atomic_int atomic_int_fast32_t
typedef atomic_uint atomic_uint_fast32_t
typedef atomic_llong atomic_int_fast64_t
typedef atomic_ullong atomic_uint_fast64_t
typedef atomic_long atomic_intptr_t
typedef atomic_ulong atomic_uintptr_t
typedef atomic_long atomic_ssize_t
typedef atomic_ulong atomic_size_t
typedef atomic_long atomic_ptrdiff_t
typedef atomic_llong atomic_intmax_t
typedef atomic_ullong atomic_uintmax_t
typedef atomic_int_least16_t atomic_char16_t
typedef atomic_int_least32_t atomic_char32_t
typedef atomic_int_least32_t atomic_wchar_t

Enumerations

enum  memory_order {
  memory_order_relaxed, memory_order_acquire, memory_order_release, memory_order_acq_rel,
  memory_order_seq_cst
}


Define Documentation

#define ALIGN_DEF

#define atomic_compare_swap ( __a__,
__e__,
__m__   )     _ATOMIC_CMPSWP_( __a__, __e__, __m__, memory_order_seq_cst )

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

#define atomic_fence ( __a__,
__x__   )     ({ _ATOMIC_FENCE_( __a__, __x__ ); })

#define ATOMIC_FLAG_INIT   { false }

#define atomic_is_lock_free ( __a__   )     true

#define atomic_load ( __a__   )     _ATOMIC_LOAD_( __a__, memory_order_seq_cst )

#define atomic_load_explicit ( __a__,
__x__   )     _ATOMIC_LOAD_( __a__, __x__ )

#define atomic_store ( __a__,
__m__   )     _ATOMIC_STORE_( __a__, __m__, memory_order_seq_cst )

#define atomic_store_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_STORE_( __a__, __m__, __x__ )

#define atomic_swap ( __a__,
__m__   )     _ATOMIC_MODIFY_( __a__, ops_swap, __m__, memory_order_seq_cst )

#define atomic_swap_explicit ( __a__,
__m__,
__x__   )     _ATOMIC_MODIFY_( __a__, ops_swap, __m__, __x__ )

#define CPP0X ( feature   ) 


Typedef Documentation


Enumeration Type Documentation

Enumerator:
memory_order_relaxed 
memory_order_acquire 
memory_order_release 
memory_order_acq_rel 
memory_order_seq_cst 


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