AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
AJAAtomic Class Reference

#include <atomic.h>

Static Public Member Functions

static void * Exchange (void *volatile *pTarget, void *pValue)
 
static int32_t Exchange (int32_t volatile *pTarget, int32_t value)
 
static int32_t Increment (int32_t volatile *pTarget)
 
static int32_t Decrement (int32_t volatile *pTarget)
 
static uint32_t Exchange (uint32_t volatile *pTarget, uint32_t value)
 
static uint32_t Increment (uint32_t volatile *pTarget)
 
static uint32_t Decrement (uint32_t volatile *pTarget)
 
static int64_t Exchange (int64_t volatile *pTarget, int64_t value)
 
static int64_t Increment (int64_t volatile *pTarget)
 
static int64_t Decrement (int64_t volatile *pTarget)
 
static uint64_t Exchange (uint64_t volatile *pTarget, uint64_t value)
 
static uint64_t Increment (uint64_t volatile *pTarget)
 
static uint64_t Decrement (uint64_t volatile *pTarget)
 

Detailed Description

Collection of system independent atomic functions.

Definition at line 17 of file atomic.h.

Member Function Documentation

◆ Decrement() [1/4]

int32_t AJAAtomic::Decrement ( int32_t volatile *  pTarget)
static

Decrement the integer target.

Parameters
[in,out]pTargetThe target to decrement.
Returns
The target value post decrement.

Definition at line 95 of file atomic.cpp.

◆ Decrement() [2/4]

int64_t AJAAtomic::Decrement ( int64_t volatile *  pTarget)
static

Decrement the integer target.

Parameters
[in,out]pTargetThe target to decrement.
Returns
The target value post decrement.

Definition at line 147 of file atomic.cpp.

◆ Decrement() [3/4]

uint32_t AJAAtomic::Decrement ( uint32_t volatile *  pTarget)
static

Decrement the unsigned integer target.

Parameters
[in,out]pTargetThe target to decrement.
Returns
The target value post decrement.

Definition at line 121 of file atomic.cpp.

◆ Decrement() [4/4]

uint64_t AJAAtomic::Decrement ( uint64_t volatile *  pTarget)
static

Decrement the unsigned integer target.

Parameters
[in,out]pTargetThe target to decrement.
Returns
The target value post decrement.

Definition at line 173 of file atomic.cpp.

◆ Exchange() [1/5]

int32_t AJAAtomic::Exchange ( int32_t volatile *  pTarget,
int32_t  value 
)
static

Exchange the integer value with the target.

Parameters
[in,out]pTargetThe target of the exchange.
[in]valueThe value to exchange with the target.
Returns
The value of the target before the exchange.

Definition at line 30 of file atomic.cpp.

◆ Exchange() [2/5]

int64_t AJAAtomic::Exchange ( int64_t volatile *  pTarget,
int64_t  value 
)
static

Exchange the integer value with the target.

Parameters
[in,out]pTargetThe target of the exchange.
[in]valueThe value to exchange with the target.
Returns
The value of the target before the exchange.

Definition at line 56 of file atomic.cpp.

◆ Exchange() [3/5]

uint32_t AJAAtomic::Exchange ( uint32_t volatile *  pTarget,
uint32_t  value 
)
static

Exchange unsigned integer value and target.

Parameters
[in,out]pTargetThe target of the exchange.
[in]valueThe value to exchange with the target.
Returns
The value of the target before the exchange.

Definition at line 43 of file atomic.cpp.

◆ Exchange() [4/5]

uint64_t AJAAtomic::Exchange ( uint64_t volatile *  pTarget,
uint64_t  value 
)
static

Exchange unsigned integer value and target.

Parameters
[in,out]pTargetThe target of the exchange.
[in]valueThe value to exchange with the target.
Returns
The value of the target before the exchange.

Definition at line 69 of file atomic.cpp.

◆ Exchange() [5/5]

void * AJAAtomic::Exchange ( void *volatile *  pTarget,
void *  pValue 
)
static

Exchange the pointer value with the target.

Parameters
[in,out]pTargetThe target of the exchange.
[in]pValueThe value to exchange with the target.
Returns
The value of the target before the exchange.

Definition at line 13 of file atomic.cpp.

◆ Increment() [1/4]

int32_t AJAAtomic::Increment ( int32_t volatile *  pTarget)
static

Increment the integer target.

Parameters
[in,out]pTargetThe target to increment.
Returns
The target value post increment.

Definition at line 82 of file atomic.cpp.

◆ Increment() [2/4]

int64_t AJAAtomic::Increment ( int64_t volatile *  pTarget)
static

Increment the integer target.

Parameters
[in,out]pTargetThe target to increment.
Returns
The target value post increment.

Definition at line 134 of file atomic.cpp.

◆ Increment() [3/4]

uint32_t AJAAtomic::Increment ( uint32_t volatile *  pTarget)
static

Increment the unsigned integer target.

Parameters
[in,out]pTargetThe target to increment.
Returns
The target value post increment.

Definition at line 108 of file atomic.cpp.

◆ Increment() [4/4]

uint64_t AJAAtomic::Increment ( uint64_t volatile *  pTarget)
static

Increment the unsigned integer target.

Parameters
[in,out]pTargetThe target to increment.
Returns
The target value post increment.

Definition at line 160 of file atomic.cpp.


The documentation for this class was generated from the following files: