P99
Macros | Typedefs
p99_atomic.h File Reference
#include "p99_enum.h"
#include "p99_generic.h"
#include <P99_ADVANCE_ID>
#include "p99_atomic_flag.h"
+ Include dependency graph for p99_atomic.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define atomic_fetch_max(OBJP, OPERAND)   atomic_fetch_max_explicit((OBJP), (OPERAND), memory_order_seq_cst)
 
#define atomic_fetch_max_explicit(OBJP, OPERAND, ORD)
 Atomically do a max operation between OPERAND and *OBJP. More...
 
#define P99_CRITICAL   P00_CRITICAL(P99_UNIQ(crit))
 Protect the following block or statement as a critical section of the program. More...
 
#define P99_DECLARE_ATOMIC(...)
 

Typedefs

typedef struct atomic_double double
 
typedef struct atomic_float float
 
P99_CRITICAL
#define P99_CRITICAL
Protect the following block or statement as a critical section of the program.
Definition: p99_atomic.h:1430
p99_extension
#define p99_extension
Mark an expression as using a compiler extension.
Definition: p99_compiler.h:210
P99_PASTE2
#define P99_PASTE2(_1, _2)
Paste two token sequences at their junction.
Definition: p99_paste.h:82
P99_NARG
#define P99_NARG(...)
Return the length of the variable length argument list, where an empty argument list is considered to...
Definition: p99_args.h:117