There's also one fixup that could neither be done before or after landing the type alias CL: changing the FunctorMessageHandler template specialization for rtc::scoped_ptr<ReturnT> to be for std::unique_ptr<ReturnT> instead. (Having one specialization for scoped_ptr and one for unique_ptr doesn't work when the types are the same, and having just the scoped_ptr specialization doesn't work when scoped_ptr is a type alias. I'm sure there's some template metaprogramming magic that could solve the problem, but it's easy enough to just make the change in this CL instead.) BUG=webrtc:5520 Review URL: https://codereview.webrtc.org/1797463002 Cr-Commit-Position: refs/heads/master@{#12499}
50 lines
1.3 KiB
C++
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 rtc::scoped_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__
|