FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
atomic_values.h File Reference

Atomic operations. More...

#include <stdint.h>
#include <utils/base/compiler_hints.h>

Go to the source code of this file.

Macros

#define DEFINE_COMPARE_AND_SWAP_TYPE(suffix, typeName)
 Implement an inline compare-and-swap routine for a particular type. More...
 
#define DEFINE_DID_COMPARE_AND_SWAP_TYPE(suffix, typeName)
 Implement an inline compare-and-swap routine for a distinct native type, but return a Boolean indicating success. More...
 
#define DEFINE_ATOMIC_INCREMENT_TYPE(suffix, typeName)
 Implement an atomic increment operator for a native type. More...
 

Functions

 DEFINE_COMPARE_AND_SWAP_TYPE (Pointer, void *)
 
 DEFINE_DID_COMPARE_AND_SWAP_TYPE (Pointer, void *)
 
 DEFINE_COMPARE_AND_SWAP_TYPE (uint32, uint32_t)
 
 DEFINE_DID_COMPARE_AND_SWAP_TYPE (uint32, uint32_t)
 
 DEFINE_COMPARE_AND_SWAP_TYPE (uint64, uint64_t)
 
 DEFINE_DID_COMPARE_AND_SWAP_TYPE (uint64, uint64_t)
 
 DEFINE_ATOMIC_INCREMENT_TYPE (uint32, uint32_t)
 
 DEFINE_ATOMIC_INCREMENT_TYPE (uint64, uint64_t)
 
template<typename NUMTYPE >
NUMTYPE incrementAtomically (NUMTYPE *loc, NUMTYPE amount)
 

Detailed Description

Atomic operations.

Generated: Tue Jul 28 2020 16:03:26
Support Information