Scroll to navigation

include/Zycore/Atomic.h(3) Library Functions Manual include/Zycore/Atomic.h(3)

NAME

include/Zycore/Atomic.h

SYNOPSIS

#include <Zycore/Defines.h>
#include <Zycore/Types.h>

Classes


struct ZyanAtomic32_
struct ZyanAtomic64_
struct ZyanAtomicPointer_

Macros


#define ZYAN_ATOMIC_COMPARE_EXCHANGE(destination, comparand, value) ZyanAtomicCompareExchange((ZyanAtomicPointer*)&(destination), (comparand), (value))
#define ZYAN_ATOMIC_INCREMENT(destination) ZyanAtomicIncrement((ZyanAtomicPointer*)&(destination));
#define ZYAN_ATOMIC_DECREMENT(destination) ZyanAtomicDecrement((ZyanAtomicPointer*)&(destination));
#define ZYAN_ATOMIC_COMPARE_EXCHANGE32(destination, comparand, value) ZyanAtomicCompareExchange32((ZyanAtomic32*)&(destination), (comparand), (value))
#define ZYAN_ATOMIC_INCREMENT32(destination) ZyanAtomicIncrement32((ZyanAtomic32*)&(destination));
#define ZYAN_ATOMIC_DECREMENT32(destination) ZyanAtomicDecrement32((ZyanAtomic32*)&(destination));
#define ZYAN_ATOMIC_COMPARE_EXCHANGE64(destination, comparand, value) ZyanAtomicCompareExchange64((ZyanAtomic64*)&(destination), (comparand), (value))
#define ZYAN_ATOMIC_INCREMENT64(destination) ZyanAtomicIncrement64((ZyanAtomic64*)&(destination));
#define ZYAN_ATOMIC_DECREMENT64(destination) ZyanAtomicDecrement64((ZyanAtomic64*)&(destination));

Typedefs


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

Detailed Description

Cross compiler atomic intrinsics.

Macro Definition Documentation

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

Compares two values for equality and, if they are equal, replaces the first value.

Parameters

destination A pointer to the destination value.
comparand The value to compare with.
value The replacement value.

Returns

The original value.

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

Compares two values for equality and, if they are equal, replaces the first value.

Parameters

destination A pointer to the destination value.
comparand The value to compare with.
value The replacement value.

Returns

The original value.

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

Compares two values for equality and, if they are equal, replaces the first value.

Parameters

destination A pointer to the destination value.
comparand The value to compare with.
value The replacement value.

Returns

The original value.

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

Decrements the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The decremented value.

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

Decrements the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The decremented value.

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

Decrements the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The decremented value.

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

Increments the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The incremented value.

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

Increments the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The incremented value.

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

Increments the given value and stores the result, as an atomic operation.

Parameters

destination A pointer to the destination value.

Returns

The incremented value.

Author

Generated automatically by Doxygen for Zycore from the source code.

Version 1.5.0.0 Zycore