Zycore 1.5.2.0
Loading...
Searching...
No Matches
Atomic.h File Reference
#include <Zycore/Defines.h>
#include <Zycore/Types.h>

Go to the source code of this file.

Classes

struct  ZyanAtomic32_
struct  ZyanAtomic64_
struct  ZyanAtomicPointer_

Macros

#define ZYAN_ATOMIC_COMPARE_EXCHANGE(destination, comparand, value)
#define ZYAN_ATOMIC_INCREMENT(destination)
#define ZYAN_ATOMIC_DECREMENT(destination)
#define ZYAN_ATOMIC_COMPARE_EXCHANGE32(destination, comparand, value)
#define ZYAN_ATOMIC_INCREMENT32(destination)
#define ZYAN_ATOMIC_DECREMENT32(destination)
#define ZYAN_ATOMIC_COMPARE_EXCHANGE64(destination, comparand, value)
#define ZYAN_ATOMIC_INCREMENT64(destination)
#define ZYAN_ATOMIC_DECREMENT64(destination)

Typedefs

typedef struct ZyanAtomic32_ ZyanAtomic32
typedef struct ZyanAtomic64_ ZyanAtomic64
typedef struct ZyanAtomicPointer_ ZyanAtomicPointer

Detailed Description

Cross compiler atomic intrinsics.

Macro Definition Documentation

◆ ZYAN_ATOMIC_COMPARE_EXCHANGE

#define ZYAN_ATOMIC_COMPARE_EXCHANGE ( destination,
comparand,
value )
Value:
ZyanAtomicCompareExchange((ZyanAtomicPointer*)&(destination), (comparand), (value))

◆ ZYAN_ATOMIC_COMPARE_EXCHANGE32

#define ZYAN_ATOMIC_COMPARE_EXCHANGE32 ( destination,
comparand,
value )
Value:
ZyanAtomicCompareExchange32((ZyanAtomic32*)&(destination), (comparand), (value))

◆ ZYAN_ATOMIC_COMPARE_EXCHANGE64

#define ZYAN_ATOMIC_COMPARE_EXCHANGE64 ( destination,
comparand,
value )
Value:
ZyanAtomicCompareExchange64((ZyanAtomic64*)&(destination), (comparand), (value))

◆ ZYAN_ATOMIC_DECREMENT

#define ZYAN_ATOMIC_DECREMENT ( destination)
Value:
ZyanAtomicDecrement((ZyanAtomicPointer*)&(destination));

◆ ZYAN_ATOMIC_DECREMENT32

#define ZYAN_ATOMIC_DECREMENT32 ( destination)
Value:
ZyanAtomicDecrement32((ZyanAtomic32*)&(destination));

◆ ZYAN_ATOMIC_DECREMENT64

#define ZYAN_ATOMIC_DECREMENT64 ( destination)
Value:
ZyanAtomicDecrement64((ZyanAtomic64*)&(destination));

◆ ZYAN_ATOMIC_INCREMENT

#define ZYAN_ATOMIC_INCREMENT ( destination)
Value:
ZyanAtomicIncrement((ZyanAtomicPointer*)&(destination));

◆ ZYAN_ATOMIC_INCREMENT32

#define ZYAN_ATOMIC_INCREMENT32 ( destination)
Value:
ZyanAtomicIncrement32((ZyanAtomic32*)&(destination));

◆ ZYAN_ATOMIC_INCREMENT64

#define ZYAN_ATOMIC_INCREMENT64 ( destination)
Value:
ZyanAtomicIncrement64((ZyanAtomic64*)&(destination));