rtc::Buffer: Replace an internal rtc::scoped_ptr with std::unique_ptr
We'd like to completely replace rtc::scoped_ptr with std::unique_ptr.
This is a first trial CL to see if using unique_ptr causes any
problems.
(As a side effect of removing the scoped_ptr.h include in buffer.h,
I had to fix broken includes in no less than three files.)
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1687833006
Cr-Commit-Position: refs/heads/master@{#11588}
diff --git a/talk/app/webrtc/objc/RTCDataChannel.mm b/talk/app/webrtc/objc/RTCDataChannel.mm
index ef45fbe..00d51b1 100644
--- a/talk/app/webrtc/objc/RTCDataChannel.mm
+++ b/talk/app/webrtc/objc/RTCDataChannel.mm
@@ -32,6 +32,7 @@
#import "RTCDataChannel+Internal.h"
#include "webrtc/api/datachannelinterface.h"
+#include "webrtc/base/scoped_ptr.h"
namespace webrtc {
diff --git a/webrtc/api/objc/RTCDataChannel.mm b/webrtc/api/objc/RTCDataChannel.mm
index f7ca288..a1f484a 100644
--- a/webrtc/api/objc/RTCDataChannel.mm
+++ b/webrtc/api/objc/RTCDataChannel.mm
@@ -13,6 +13,8 @@
#import "webrtc/api/objc/RTCDataChannel+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
+#include "webrtc/base/scoped_ptr.h"
+
namespace webrtc {
class DataChannelDelegateAdapter : public DataChannelObserver {
diff --git a/webrtc/base/buffer.h b/webrtc/base/buffer.h
index ff9bb73..5c9380a 100644
--- a/webrtc/base/buffer.h
+++ b/webrtc/base/buffer.h
@@ -14,10 +14,11 @@
#include <algorithm> // std::swap (pre-C++11)
#include <cassert>
#include <cstring>
+#include <memory>
#include <utility> // std::swap (C++11 and later)
+#include "webrtc/base/constructormagic.h"
#include "webrtc/base/deprecation.h"
-#include "webrtc/base/scoped_ptr.h"
namespace rtc {
@@ -164,7 +165,7 @@
assert(IsConsistent());
if (capacity <= capacity_)
return;
- scoped_ptr<uint8_t[]> new_data(new uint8_t[capacity]);
+ std::unique_ptr<uint8_t[]> new_data(new uint8_t[capacity]);
std::memcpy(new_data.get(), data_.get(), size_);
data_ = std::move(new_data);
capacity_ = capacity;
@@ -222,7 +223,7 @@
size_t size_;
size_t capacity_;
- scoped_ptr<uint8_t[]> data_;
+ std::unique_ptr<uint8_t[]> data_;
};
} // namespace rtc