|
|
|
|
|
by yingfeng
5514 days ago
|
|
I uses boost::atomic to make it usable without c++0x
http://www.chaoticmind.net/~hcb/projects/boost.atomic/ #include <boost/atomic.hpp> class AtomicPointer {
private:
boost::atomic<void> rep_;
public:
AtomicPointer() { }
explicit AtomicPointer(void v) { }
inline void* Acquire_Load() const {
return rep_.load(boost::memory_order_acquire);
}
inline void Release_Store(void* v) {
rep_.store(v, boost::memory_order_release);
}
inline void* NoBarrier_Load() const {
return rep_.load(boost::memory_order_relaxed);
}
inline void NoBarrier_Store(void* v) {
rep_.store(v, boost::memory_order_relaxed);
}
}; |
|