Agora C++ API Reference for All Platforms

Static Public Member Functions | List of all members
agora::AtomicOps Class Reference

## Static Public Member Functions
static int | Increment (volatile int *i)
static int | Decrement (volatile int *i)
static int | AcquireLoad (volatile const int *i)
static void | ReleaseStore (volatile int *i, int value)
static int | CompareAndSwap (volatile int *i, int old_value, int new_value)
template<typename T >
static T * | AcquireLoadPtr (T *volatile *ptr)
template<typename T >
static T * | CompareAndSwapPtr (T *volatile *ptr, T *old_value, T *new_value)
static int | Increment (volatile int *i)
static int | Decrement (volatile int *i)
static int | AcquireLoad (volatile const int *i)
static void | ReleaseStore (volatile int *i, int value)
static int | CompareAndSwap (volatile int *i, int old_value, int new_value)
template<typename T >
static T * | AcquireLoadPtr (T *volatile *ptr)
template<typename T >
static T * | CompareAndSwapPtr (T *volatile *ptr, T *old_value, T *new_value)

## Member Function Documentation

## ◆ Increment() [1/2]

static int agora::AtomicOps::Increment | ( | volatile int * | i | ) |
| inline static

## ◆ Decrement() [1/2]

static int agora::AtomicOps::Decrement | ( | volatile int * | i | ) |
| inline static

## ◆ AcquireLoad() [1/2]

static int agora::AtomicOps::AcquireLoad | ( | volatile const int * | i | ) |
| inline static

## ◆ ReleaseStore() [1/2]

static void agora::AtomicOps::ReleaseStore | ( | volatile int * | i,
|  | int | value
| ) |  |
| inline static

## ◆ CompareAndSwap() [1/2]

static int agora::AtomicOps::CompareAndSwap | ( | volatile int * | i,
|  | int | old_value,
|  | int | new_value
| ) |  |
| inline static

## ◆ AcquireLoadPtr() [1/2]

template<typename T >

static T* agora::AtomicOps::AcquireLoadPtr | ( | T *volatile * | ptr | ) |
| inline static

## ◆ CompareAndSwapPtr() [1/2]

template<typename T >

static T* agora::AtomicOps::CompareAndSwapPtr | ( | T *volatile * | ptr,
|  | T * | old_value,
|  | T * | new_value
| ) |  |
| inline static

## ◆ Increment() [2/2]

static int agora::AtomicOps::Increment | ( | volatile int * | i | ) |
| inline static

## ◆ Decrement() [2/2]

static int agora::AtomicOps::Decrement | ( | volatile int * | i | ) |
| inline static

## ◆ AcquireLoad() [2/2]

static int agora::AtomicOps::AcquireLoad | ( | volatile const int * | i | ) |
| inline static

## ◆ ReleaseStore() [2/2]

static void agora::AtomicOps::ReleaseStore | ( | volatile int * | i,
|  | int | value
| ) |  |
| inline static

## ◆ CompareAndSwap() [2/2]

static int agora::AtomicOps::CompareAndSwap | ( | volatile int * | i,
|  | int | old_value,
|  | int | new_value
| ) |  |
| inline static

## ◆ AcquireLoadPtr() [2/2]

template<typename T >

static T* agora::AtomicOps::AcquireLoadPtr | ( | T *volatile * | ptr | ) |
| inline static

## ◆ CompareAndSwapPtr() [2/2]

template<typename T >

static T* agora::AtomicOps::CompareAndSwapPtr | ( | T *volatile * | ptr,
|  | T * | old_value,
|  | T * | new_value
| ) |  |
| inline static