From a7f43fe48d2bf8a0cedbe64a2add36ffd8d98e39 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sat, 18 Aug 2018 17:43:59 -0700 Subject: [PATCH] ircd::buffer: Support release() for unique_buffer. --- include/ircd/buffer/unique_buffer.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/ircd/buffer/unique_buffer.h b/include/ircd/buffer/unique_buffer.h index de10e66b1..4a04282dd 100644 --- a/include/ircd/buffer/unique_buffer.h +++ b/include/ircd/buffer/unique_buffer.h @@ -18,6 +18,8 @@ template &&, const size_t &size); explicit unique_buffer(const buffer &); @@ -122,3 +124,13 @@ noexcept { delete[] data(*this); } + +template +buffer +ircd::buffer::unique_buffer::release() +{ + const buffer ret{static_cast(*this)}; + static_cast(*this) = buffer{}; + return ret; +}