![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
Go to the source code of this file.
Atomic operation utilities.
Macros | |
#define | _AAX_ATOMIC_H_ |
Functions | |
uint32_t AAX_CALLBACK | AAX_Atomic_IncThenGet_32 (uint32_t &ioData) |
Increments a 32-bit value and returns the result. More... | |
uint32_t AAX_CALLBACK | AAX_Atomic_DecThenGet_32 (uint32_t &ioData) |
Decrements a 32-bit value and returns the result. More... | |
uint32_t AAX_CALLBACK | AAX_Atomic_Exchange_32 (volatile uint32_t &ioValue, uint32_t inExchangeValue) |
Return the original value of ioValue and then set it to inExchangeValue. More... | |
uint64_t AAX_CALLBACK | AAX_Atomic_Exchange_64 (volatile uint64_t &ioValue, uint64_t inExchangeValue) |
Return the original value of ioValue and then set it to inExchangeValue. More... | |
template<typename TPointer > | |
TPointer *AAX_CALLBACK | AAX_Atomic_Exchange_Pointer (TPointer *&ioValue, TPointer *inExchangeValue) |
Perform an exchange operation on a pointer value. More... | |
bool AAX_CALLBACK | AAX_Atomic_CompareAndExchange_32 (volatile uint32_t &ioValue, uint32_t inCompareValue, uint32_t inExchangeValue) |
Perform a compare and exchange operation on a 32-bit value. More... | |
bool AAX_CALLBACK | AAX_Atomic_CompareAndExchange_64 (volatile uint64_t &ioValue, uint64_t inCompareValue, uint64_t inExchangeValue) |
Perform a compare and exchange operation on a 64-bit value. More... | |
template<typename TPointer > | |
bool AAX_CALLBACK | AAX_Atomic_CompareAndExchange_Pointer (TPointer *&ioValue, TPointer *inCompareValue, TPointer *inExchangeValue) |
Perform a compare and exchange operation on a pointer value. More... | |
template<typename TPointer > | |
TPointer *AAX_CALLBACK | AAX_Atomic_Load_Pointer (TPointer const *const volatile *inValue) |
Atomically loads a pointer value. More... | |
#define _AAX_ATOMIC_H_ |
uint32_t AAX_CALLBACK AAX_Atomic_IncThenGet_32 | ( | uint32_t & | ioData | ) |
Increments a 32-bit value and returns the result.
uint32_t AAX_CALLBACK AAX_Atomic_DecThenGet_32 | ( | uint32_t & | ioData | ) |
Decrements a 32-bit value and returns the result.
uint32_t AAX_CALLBACK AAX_Atomic_Exchange_32 | ( | volatile uint32_t & | ioValue, |
uint32_t | inExchangeValue | ||
) |
Return the original value of ioValue and then set it to inExchangeValue.
Referenced by AAX_Atomic_Exchange_Pointer().
uint64_t AAX_CALLBACK AAX_Atomic_Exchange_64 | ( | volatile uint64_t & | ioValue, |
uint64_t | inExchangeValue | ||
) |
Return the original value of ioValue and then set it to inExchangeValue.
Referenced by AAX_Atomic_Exchange_Pointer().
TPointer* AAX_CALLBACK AAX_Atomic_Exchange_Pointer | ( | TPointer *& | ioValue, |
TPointer * | inExchangeValue | ||
) |
Perform an exchange operation on a pointer value.
References AAX_Atomic_Exchange_32(), and AAX_Atomic_Exchange_64().
bool AAX_CALLBACK AAX_Atomic_CompareAndExchange_32 | ( | volatile uint32_t & | ioValue, |
uint32_t | inCompareValue, | ||
uint32_t | inExchangeValue | ||
) |
Perform a compare and exchange operation on a 32-bit value.
Referenced by AAX_Atomic_CompareAndExchange_Pointer().
bool AAX_CALLBACK AAX_Atomic_CompareAndExchange_64 | ( | volatile uint64_t & | ioValue, |
uint64_t | inCompareValue, | ||
uint64_t | inExchangeValue | ||
) |
Perform a compare and exchange operation on a 64-bit value.
Referenced by AAX_Atomic_CompareAndExchange_Pointer().
bool AAX_CALLBACK AAX_Atomic_CompareAndExchange_Pointer | ( | TPointer *& | ioValue, |
TPointer * | inCompareValue, | ||
TPointer * | inExchangeValue | ||
) |
Perform a compare and exchange operation on a pointer value.
References AAX_Atomic_CompareAndExchange_32(), and AAX_Atomic_CompareAndExchange_64().
TPointer* AAX_CALLBACK AAX_Atomic_Load_Pointer | ( | TPointer const *const volatile * | inValue | ) |
Atomically loads a pointer value.