aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/ref.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/salticidae/ref.h')
-rw-r--r--include/salticidae/ref.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/salticidae/ref.h b/include/salticidae/ref.h
index 44eb01e..9f4bfed 100644
--- a/include/salticidae/ref.h
+++ b/include/salticidae/ref.h
@@ -98,6 +98,11 @@ class _BoxObj {
T &operator *() const { return *obj; }
T *get() const { return obj; }
+ T *unwrap() {
+ auto ret = obj;
+ obj = nullptr;
+ return ret;
+ }
operator bool() const { return obj != nullptr; }
bool operator==(const _BoxObj &other) const { return obj == other.obj; }
bool operator!=(const _BoxObj &other) const { return obj != other.obj; }