This is Unofficial EPICS BASE Doxygen Site
epics::pvAccess::detail::AtomicValue< T > Class Template Reference

#include "codec.h"

Public Member Functions

 AtomicValue ()
 
getAndSet (T newval)
 
get ()
 

Detailed Description

template<typename T>
class epics::pvAccess::detail::AtomicValue< T >

Definition at line 69 of file codec.h.

Constructor & Destructor Documentation

template<typename T>
epics::pvAccess::detail::AtomicValue< T >::AtomicValue ( )
inline

Definition at line 73 of file codec.h.

73 :val(0) {}

Member Function Documentation

template<typename T>
T epics::pvAccess::detail::AtomicValue< T >::get ( )
inline

Definition at line 83 of file codec.h.

83  {
84  return epics::atomic::get(val);
85  }
Definition: caget.c:48
template<typename T>
T epics::pvAccess::detail::AtomicValue< T >::getAndSet ( newval)
inline

Definition at line 74 of file codec.h.

75  {
76  int oldval;
77  // epicsAtomic doesn't have unconditional swap
78  do {
79  oldval = epics::atomic::get(val);
80  } while(epics::atomic::compareAndSwap(val, oldval, newval)!=oldval);
81  return oldval;
82  }
Definition: caget.c:48

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