summaryrefslogtreecommitdiff
path: root/src/ref_ptr.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-11-07 18:24:08 +0000
committerMaxime Coste <frrrwww@gmail.com>2015-11-07 18:25:49 +0000
commit6840f7ce9cae76295ecedd92114829b413fdd6bb (patch)
tree2331ca711cf9c1926bf336a518ef6dd840ac5725 /src/ref_ptr.hh
parent6bb775241cf44fa2aec40c1fa0294e8b7379cf70 (diff)
Store the last used buffer in clients
Fixes #474
Diffstat (limited to 'src/ref_ptr.hh')
-rw-r--r--src/ref_ptr.hh8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ref_ptr.hh b/src/ref_ptr.hh
index 2c284dae..33a56135 100644
--- a/src/ref_ptr.hh
+++ b/src/ref_ptr.hh
@@ -38,6 +38,14 @@ struct RefPtr
return *this;
}
+ RefPtr& operator=(T* ptr)
+ {
+ release();
+ m_ptr = ptr;
+ acquire();
+ return *this;
+ }
+
[[gnu::always_inline]]
T* operator->() const { return m_ptr; }
[[gnu::always_inline]]