From c0fbcf4d318bb9a6e95194b982f4eb382d1b1f12 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 6 Dec 2007 19:23:17 +0000 Subject: Add copy constructor. git-svn-id: http://svn.drobilla.net/lad/raul@957 a436a847-0d15-0410-975c-d299462d15a1 --- raul/DoubleBuffer.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/raul/DoubleBuffer.hpp b/raul/DoubleBuffer.hpp index 425bb29..4f3907d 100644 --- a/raul/DoubleBuffer.hpp +++ b/raul/DoubleBuffer.hpp @@ -18,7 +18,6 @@ #ifndef RAUL_DOUBLE_BUFFER_HPP #define RAUL_DOUBLE_BUFFER_HPP -#include #include #include @@ -34,7 +33,7 @@ namespace Raul { * Space: 2*sizeof(T) + sizeof(int) + sizeof(void*) */ template -class DoubleBuffer : public boost::noncopyable { +class DoubleBuffer { public: inline DoubleBuffer(T val) @@ -43,8 +42,16 @@ public: _vals[0] = val; _read_val = &_vals[0]; } + + inline DoubleBuffer(const DoubleBuffer& copy) + : _state(RAUL_DB_READ_WRITE) + { + T val = copy.get(); + _vals[0] = val; + _read_val = &_vals[0]; + } - inline T& get() + inline T& get() const { return *_read_val.get(); } -- cgit v1.2.1