Nebula
Loading...
Searching...
No Matches
interlocked.h File Reference
#include "core/types.h"
#include "core/config.h"

Go to the source code of this file.

Classes

struct  Threading::Interlocked::AtomicInt
struct  Threading::Interlocked::AtomicInt64
struct  Threading::Interlocked::AtomicPointer

Namespaces

namespace  Threading
 The Jobs2 system provides a set of threads and a pool of jobs from which threads can pickup work.
namespace  Threading::Interlocked

Typedefs

using Threading::int64 = int64_t
typedef volatile int Threading::AtomicCounter
typedef volatile int64 Threading::AtomicCounter64

Functions

int Threading::Interlocked::Add (int volatile *var, int add)
 interlocked add
int64 Threading::Interlocked::Add (int64 volatile *var, int64 add)
 interlocked add 64
int Threading::Interlocked::Or (int volatile *var, int value)
 interlocked or
int64 Threading::Interlocked::Or (int64 volatile *var, int64 value)
 interlocked or
int Threading::Interlocked::And (int volatile *var, int value)
 interlocked and
int64 Threading::Interlocked::And (int64 volatile *var, int64 value)
 interlocked and
int Threading::Interlocked::Xor (int volatile *var, int value)
 interlocked xor
int64 Threading::Interlocked::Xor (int64 volatile *var, int64 value)
 interlocked xor
int Threading::Interlocked::Exchange (int volatile *dest, int value)
 interlocked exchange
int64 Threading::Interlocked::Exchange (int64 volatile *dest, int64 value)
 interlocked exchange
int Threading::Interlocked::CompareExchange (int volatile *dest, int exchange, int comparand)
 interlocked compare-exchange
int64 Threading::Interlocked::CompareExchange (int64 volatile *dest, int64 exchange, int64 comparand)
 interlocked compare-exchange
void * Threading::Interlocked::ExchangePointer (void *volatile *dest, void *value)
 interlocked exchange
void * Threading::Interlocked::CompareExchangePointer (void *volatile *dest, void *exchange, void *comparand)
 interlocked compare-exchange pointer
int Threading::Interlocked::Increment (int volatile *var)
 interlocked increment, return result
int64 Threading::Interlocked::Increment (int64 volatile *var)
 interlocked increment, return result
int Threading::Interlocked::Decrement (int volatile *var)
 interlocked decrement, return result
int64 Threading::Interlocked::Decrement (int64 volatile *var)
 interlocked decrement, return result