webrtc_m130/webrtc/base/scoped_ptr.h
kwiberg bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00

50 lines
1.3 KiB
C++

/*
* Copyright 2012 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
// This entire file is deprecated, and will be removed in XXXX 2016. Use
// std::unique_ptr instead!
#ifndef WEBRTC_BASE_SCOPED_PTR_H__
#define WEBRTC_BASE_SCOPED_PTR_H__
// All these #includes are left to maximize backwards compatibility.
#include <assert.h>
#include <stddef.h>
#include <stdlib.h>
#include <algorithm>
#include <cstddef>
#include <memory>
#include "webrtc/base/constructormagic.h"
#include "webrtc/base/template_util.h"
#include "webrtc/typedefs.h"
namespace rtc {
template <typename T, typename Deleter = std::default_delete<T>>
using scoped_ptr = std::unique_ptr<T, Deleter>;
// These used to convert between std::unique_ptr and std::unique_ptr. Now they
// are no-ops.
template <typename T>
std::unique_ptr<T> ScopedToUnique(std::unique_ptr<T> up) {
return up;
}
template <typename T>
std::unique_ptr<T> UniqueToScoped(std::unique_ptr<T> up) {
return up;
}
} // namespace rtc
#endif // #ifndef WEBRTC_BASE_SCOPED_PTR_H__