C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
system_atomic.h File Reference

System-dependent atomic operations. If atomic operations are required, this file should be used (atomic must not be used!!!). More...

#include <system_types.h>
#include <system_cpp_standard.h>
#include <math_define.h>
#include <atomic>

Namespaces

 c3d
 C3D namespace declaration.
 

Typedefs

typedef std::atomic_ptrdiff_t use_count_type
 Thread-safe references count type.
 
typedef std::atomic_size_t serial_type
 Thread-safe references count type.
 
typedef std::atomic_schar flag_type
 Thread-safe flag type.
 
typedef std::atomic< bool > atomic_bool
 Thread-safe boolean type.
 
typedef std::atomic< double > atomic_double
 Thread-safe double type.
 
typedef std::atomic< uint8 > atomic_uint8
 Thread-safe uint8 type.
 
typedef std::pair< atomic_double, atomic_doublec3d::AtomicDoublePair
 Pair of thread-safe doubles.
 

Functions

template<class AtomicType , class Type >
Type LoadTypeValue (const AtomicType &v)
 
template<class AtomicType >
void StoreTypeValue (const AtomicType &src, AtomicType &dst)
 
template<class AtomicType , class Type >
void StoreTypeValue (const Type src, AtomicType &dst)
 
size_t SerialTypeValue (const serial_type &v)
 

Detailed Description

System-dependent atomic operations. If atomic operations are required, this file should be used (atomic must not be used!!!).

Function Documentation

◆ LoadTypeValue()

template<class AtomicType , class Type >
Type LoadTypeValue ( const AtomicType &  v)

Get value.

◆ StoreTypeValue() [1/2]

template<class AtomicType >
void StoreTypeValue ( const AtomicType &  src,
AtomicType &  dst 
)

Get value.

◆ StoreTypeValue() [2/2]

template<class AtomicType , class Type >
void StoreTypeValue ( const Type  src,
AtomicType &  dst 
)

Get value.

◆ SerialTypeValue()

size_t SerialTypeValue ( const serial_type v)
inline

Get value.