From d8a9c5306b8f6191d0388a68f52e9dd0c2cc287c Mon Sep 17 00:00:00 2001 From: danilchap Date: Sat, 30 Jul 2016 12:39:26 -0700 Subject: [PATCH] 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} --- webrtc/base/copyonwritebuffer.cc | 5 ++--- webrtc/base/copyonwritebuffer.h | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/webrtc/base/copyonwritebuffer.cc b/webrtc/base/copyonwritebuffer.cc index 293faec001..6eae42626b 100644 --- a/webrtc/base/copyonwritebuffer.cc +++ b/webrtc/base/copyonwritebuffer.cc @@ -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) diff --git a/webrtc/base/copyonwritebuffer.h b/webrtc/base/copyonwritebuffer.h index a7e52beea5..16e15f946b 100644 --- a/webrtc/base/copyonwritebuffer.h +++ b/webrtc/base/copyonwritebuffer.h @@ -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; }