Atomic64< T > Class Template Reference

#include <private_ge_sys_atomic.h>

Public Member Functions

T Get ()
 
void Set (T new_value)
 
T CompareAndSwap (T new_value, T compare)
 
Bool TryCompareAndSwap (T new_value, T compare)
 
T Swap (T new_value)
 
T SwapAdd (T add)
 
T SwapIncrement ()
 
T SwapDecrement ()
 
void UnsafeAdd (T add)
 
void UnsafeIncrement ()
 
void UnsafeDecrement ()
 

Static Public Member Functions

static T Swap (volatile T *v, T new_value)
 
static T SwapAdd (volatile T *v, T add)
 
static T SwapIncrement (volatile T *v)
 
static T SwapDecrement (volatile T *v)
 
static T SwapIncrement (Atomic64 *v)
 
static T SwapDecrement (Atomic64 *v)
 

Private Attributes

volatile T value
 

Member Function Documentation

◆ Get()

T Get ( )

◆ Set()

void Set ( T  new_value)

◆ CompareAndSwap()

T CompareAndSwap ( T  new_value,
T  compare 
)

◆ TryCompareAndSwap()

Bool TryCompareAndSwap ( T  new_value,
T  compare 
)

◆ Swap() [1/2]

T Swap ( T  new_value)

◆ Swap() [2/2]

static T Swap ( volatile T *  v,
T  new_value 
)
static

◆ SwapAdd() [1/2]

T SwapAdd ( T  add)

◆ SwapIncrement() [1/3]

T SwapIncrement ( )

◆ SwapDecrement() [1/3]

T SwapDecrement ( )

◆ SwapAdd() [2/2]

static T SwapAdd ( volatile T *  v,
T  add 
)
static

◆ SwapIncrement() [2/3]

static T SwapIncrement ( volatile T *  v)
static

◆ SwapDecrement() [2/3]

static T SwapDecrement ( volatile T *  v)
static

◆ SwapIncrement() [3/3]

static T SwapIncrement ( Atomic64< T > *  v)
static

◆ SwapDecrement() [3/3]

static T SwapDecrement ( Atomic64< T > *  v)
static

◆ UnsafeAdd()

void UnsafeAdd ( T  add)

◆ UnsafeIncrement()

void UnsafeIncrement ( )

◆ UnsafeDecrement()

void UnsafeDecrement ( )

Member Data Documentation

◆ value

volatile T value
private