Loading...
Searching...
No Matches
Atomic.h File Reference
`#include <Zycore/Defines.h>`
`#include <Zycore/Types.h>`
Include dependency graph for Atomic.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));