I may eventually get rid of NonCopyable, but for now let's keep things
consistent.
}
+OpenGLTexture2D::AsyncTransfer::AsyncTransfer() = default;
+
+OpenGLTexture2D::AsyncTransfer::AsyncTransfer(AsyncTransfer &&other):
+ pixel_buffer(move(other.pixel_buffer))
+{ }
+
+OpenGLTexture2D::AsyncTransfer &OpenGLTexture2D::AsyncTransfer::operator=(AsyncTransfer &&other)
+{
+ pixel_buffer = move(other.pixel_buffer);
+ return *this;
+}
+
+OpenGLTexture2D::AsyncTransfer::~AsyncTransfer() = default;
+
void *OpenGLTexture2D::AsyncTransfer::allocate()
{
const Texture2D::AsyncTransfer &self = *static_cast<const Texture2D::AsyncTransfer *>(this);
protected:
std::unique_ptr<Buffer> pixel_buffer;
+ AsyncTransfer();
+ AsyncTransfer(AsyncTransfer &&);
+ AsyncTransfer &operator=(AsyncTransfer &&);
+ ~AsyncTransfer();
+
void *allocate();
void finalize();
};