Implement CopyOnWriteBuffer move using scoped_refptr move
instead of using temporary swap solution. BUG=webrtc:5556 Review-Url: https://codereview.webrtc.org/2191863002 Cr-Commit-Position: refs/heads/master@{#13582}
This commit is contained in:
@ -20,9 +20,8 @@ CopyOnWriteBuffer::CopyOnWriteBuffer(const CopyOnWriteBuffer& buf)
|
||||
: buffer_(buf.buffer_) {
|
||||
}
|
||||
|
||||
CopyOnWriteBuffer::CopyOnWriteBuffer(CopyOnWriteBuffer&& buf) {
|
||||
// TODO(jbauch): use std::move once scoped_refptr supports it (issue 5556)
|
||||
std::swap(buffer_, buf.buffer_);
|
||||
CopyOnWriteBuffer::CopyOnWriteBuffer(CopyOnWriteBuffer&& buf)
|
||||
: buffer_(std::move(buf.buffer_)) {
|
||||
}
|
||||
|
||||
CopyOnWriteBuffer::CopyOnWriteBuffer(size_t size)
|
||||
|
||||
@ -119,9 +119,7 @@ class CopyOnWriteBuffer {
|
||||
CopyOnWriteBuffer& operator=(CopyOnWriteBuffer&& buf) {
|
||||
RTC_DCHECK(IsConsistent());
|
||||
RTC_DCHECK(buf.IsConsistent());
|
||||
// TODO(jbauch): use std::move once scoped_refptr supports it (issue 5556)
|
||||
buffer_.swap(buf.buffer_);
|
||||
buf.buffer_ = nullptr;
|
||||
buffer_ = std::move(buf.buffer_);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user