Honeycomb  0.1
Component-Model Framework
Public Member Functions | List of all members
honey::Atomic< T *, false > Class Template Reference

Wrapper around pointer type to make all operations atomic and sequentially consistent. More...

#include <Atomic.h>

Public Member Functions

 Atomic ()=default
 
 Atomic (T *val)
 
 Atomic (const Atomic &val)
 
T * operator= (T *val) volatile
 
T * operator= (const Atomic &val) volatile
 
T * operator++ () volatile
 
T * operator++ (int) volatile
 
T * operator-- () volatile
 
T * operator-- (int) volatile
 
T * operator+= (sdt rhs) volatile
 
T * operator-= (sdt rhs) volatile
 
T * operator-> () const volatile
 
T & operator* () const volatile
 
 operator T * () const volatile
 
void store (T *val, Order o=Order::seqCst) volatile
 
T * load (Order o=Order::seqCst) const volatile
 
T * add (sdt rhs, Order o=Order::seqCst) volatile
 
T * sub (sdt rhs, Order o=Order::seqCst) volatile
 
bool cas (T *newVal, T *cmp, Order o=Order::seqCst) volatile
 

Detailed Description

template<class T>
class honey::Atomic< T *, false >

Wrapper around pointer type to make all operations atomic and sequentially consistent.

Constructor & Destructor Documentation

template<class T >
honey::Atomic< T *, false >::Atomic ( )
default
template<class T >
honey::Atomic< T *, false >::Atomic ( T *  val)
inline
template<class T >
honey::Atomic< T *, false >::Atomic ( const Atomic< T *, false > &  val)
inline

Member Function Documentation

template<class T >
T* honey::Atomic< T *, false >::add ( sdt  rhs,
Order  o = Order::seqCst 
) volatile
inline
template<class T >
bool honey::Atomic< T *, false >::cas ( T *  newVal,
T *  cmp,
Order  o = Order::seqCst 
) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::load ( Order  o = Order::seqCst) const volatile
inline
template<class T >
honey::Atomic< T *, false >::operator T * ( ) const volatile
inline
template<class T >
T& honey::Atomic< T *, false >::operator* ( ) const volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator++ ( ) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator++ ( int  ) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator+= ( sdt  rhs) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator-- ( ) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator-- ( int  ) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator-= ( sdt  rhs) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator-> ( ) const volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator= ( T *  val) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::operator= ( const Atomic< T *, false > &  val) volatile
inline
template<class T >
void honey::Atomic< T *, false >::store ( T *  val,
Order  o = Order::seqCst 
) volatile
inline
template<class T >
T* honey::Atomic< T *, false >::sub ( sdt  rhs,
Order  o = Order::seqCst 
) volatile
inline

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