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; +}