diff --git a/src/sfizz/BufferPool.h b/src/sfizz/BufferPool.h index c0a378c7..0f58d529 100644 --- a/src/sfizz/BufferPool.h +++ b/src/sfizz/BufferPool.h @@ -27,8 +27,18 @@ public: SpanHolder() {} SpanHolder(const SpanHolder&) = delete; SpanHolder& operator=(const SpanHolder&) = delete; - SpanHolder(SpanHolder&&) = delete; - SpanHolder& operator=(SpanHolder&&) = delete; + SpanHolder(SpanHolder&& other) + { + this->value = other.value; + this->available = other.available; + other.available = nullptr; + } + SpanHolder& operator=(SpanHolder&& other) + { + this->value = other.value; + this->available = other.available; + other.available = nullptr; + } SpanHolder(T&& value, int* available) : value(std::forward(value)), available(available) {} T& operator*() { return value; }