3 #include <boost/thread/mutex.hpp>
9 template <
class T>
class Atomic {
32 void set(
const T &data) {
33 boost::mutex::scoped_lock lock(mutex_);
42 boost::mutex::scoped_lock lock(mutex_);
63 operator T()
const {
return this->
get(); }
67 mutable boost::mutex mutex_;
void set(const T &data)
Set the data.
Definition: atomic.h:32
Template class to create thread-safe variables with internal lock management.
Definition: atomic.h:9
void operator=(const T &d)
Assignment operator for data.
Definition: atomic.h:57
T get() const
Get the data.
Definition: atomic.h:41
void operator=(const Atomic< T > &a)
Assignment operator.
Definition: atomic.h:51
Atomic(const Atomic< T > &a)
Copy constructor.
Definition: atomic.h:26
Atomic()=default
Default constructor.
Atomic(const T &data)
Constructor that sets member data.
Definition: atomic.h:20