FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMErefCount.cpp File Reference
#include <OMErefCount.h>
#include <iostream>

Macros

#define OME_ATOMIC_INCREMENT_BY_VAL(result, var, amt)
 
#define OME_ATOMIC_INCREMENT(var)
 
#define OME_ATOMIC_DECREMENT(result, var)
 

Macro Definition Documentation

◆ OME_ATOMIC_DECREMENT

#define OME_ATOMIC_DECREMENT (   result,
  var 
)
Value:
do { \
OME_ATOMIC_INCREMENT_BY_VAL(result, var, -1) \
} while (0)

◆ OME_ATOMIC_INCREMENT

#define OME_ATOMIC_INCREMENT (   var)
Value:
do { \
int32_t newVal; \
OME_ATOMIC_INCREMENT_BY_VAL(newVal, var, 1) \
} while (0)

◆ OME_ATOMIC_INCREMENT_BY_VAL

#define OME_ATOMIC_INCREMENT_BY_VAL (   result,
  var,
  amt 
)
Value:
{ \
bool ok; \
do { \
int32_t cur = var; \
result = cur + (amt); \
ok = __sync_bool_compare_and_swap(&var, cur, result); \
} while (ok == false); \
}
Generated: Tue Jul 28 2020 16:03:26
Support Information