Fix ScratchBuffer moves
This commit is contained in:
		@@ -40,8 +40,21 @@ public:
 | 
			
		||||
    ~ScratchBuffer() = default;
 | 
			
		||||
    ScratchBuffer(const ScratchBuffer&) = delete;
 | 
			
		||||
    ScratchBuffer& operator=(const ScratchBuffer&) = delete;
 | 
			
		||||
    ScratchBuffer(ScratchBuffer&&) = default;
 | 
			
		||||
    ScratchBuffer& operator=(ScratchBuffer&&) = default;
 | 
			
		||||
 | 
			
		||||
    ScratchBuffer(ScratchBuffer&& other) noexcept {
 | 
			
		||||
        swap(other);
 | 
			
		||||
        other.last_requested_size = 0;
 | 
			
		||||
        other.buffer_capacity = 0;
 | 
			
		||||
        other.buffer.reset();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ScratchBuffer& operator=(ScratchBuffer&& other) noexcept {
 | 
			
		||||
        swap(other);
 | 
			
		||||
        other.last_requested_size = 0;
 | 
			
		||||
        other.buffer_capacity = 0;
 | 
			
		||||
        other.buffer.reset();
 | 
			
		||||
        return *this;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// This will only grow the buffer's capacity if size is greater than the current capacity.
 | 
			
		||||
    /// The previously held data will remain intact.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user