diff options
| author | Lioncash <mathew1800@gmail.com> | 2015-09-06 02:39:35 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2015-09-06 04:09:53 -0400 |
| commit | 4fc71e97089d5113a2dc7bb22c5ae2b498aebf16 (patch) | |
| tree | 75c1665b31be8b2c748d4911576649e73871831a /Source/Core/Common | |
| parent | 4991c6340ac33e9804a28aadc2f46b7af44c9c62 (diff) | |
Common: Remove StdMakeUnique.h
Diffstat (limited to 'Source/Core/Common')
| -rw-r--r-- | Source/Core/Common/Common.vcxproj | 1 | ||||
| -rw-r--r-- | Source/Core/Common/Common.vcxproj.filters | 1 | ||||
| -rw-r--r-- | Source/Core/Common/StdMakeUnique.h | 82 |
3 files changed, 0 insertions, 84 deletions
diff --git a/Source/Core/Common/Common.vcxproj b/Source/Core/Common/Common.vcxproj index 9303e37939..ec67edf054 100644 --- a/Source/Core/Common/Common.vcxproj +++ b/Source/Core/Common/Common.vcxproj @@ -75,7 +75,6 @@ <ClInclude Include="Profiler.h" /> <ClInclude Include="SDCardUtil.h" /> <ClInclude Include="SettingsHandler.h" /> - <ClInclude Include="StdMakeUnique.h" /> <ClInclude Include="StringUtil.h" /> <ClInclude Include="SymbolDB.h" /> <ClInclude Include="SysConf.h" /> diff --git a/Source/Core/Common/Common.vcxproj.filters b/Source/Core/Common/Common.vcxproj.filters index 712122b3d1..64c29fb0ab 100644 --- a/Source/Core/Common/Common.vcxproj.filters +++ b/Source/Core/Common/Common.vcxproj.filters @@ -46,7 +46,6 @@ <ClInclude Include="Profiler.h" /> <ClInclude Include="SDCardUtil.h" /> <ClInclude Include="SettingsHandler.h" /> - <ClInclude Include="StdMakeUnique.h" /> <ClInclude Include="StringUtil.h" /> <ClInclude Include="SymbolDB.h" /> <ClInclude Include="SysConf.h" /> diff --git a/Source/Core/Common/StdMakeUnique.h b/Source/Core/Common/StdMakeUnique.h deleted file mode 100644 index b3e38649d8..0000000000 --- a/Source/Core/Common/StdMakeUnique.h +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2014 Dolphin Emulator Project -// Licensed under GPLv2+ -// Refer to the license.txt file included. - -#pragma once - -// VS 2013 defines __cplusplus as 199711L but has std::make_unique. -#if __cplusplus > 201103L || _MSC_VER >= 1800 -#include <memory> -#else - -// Implementation of C++14 std::make_unique, which is not supported by all the -// compilers we care about yet. -// -// NOTE: This code is based on the libc++ implementation of std::make_unique. -// -// Copyright (c) 2009-2014 by the libc++ contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. - -#include <cstddef> -#include <memory> -#include <type_traits> - -namespace std -{ - -struct unspecified {}; - -template<class T> -struct unique_if -{ - typedef std::unique_ptr<T> unique_single; -}; - -template<class T> -struct unique_if<T[]> -{ - typedef std::unique_ptr<T[]> unique_array_unknown_bound; -}; - -template<class T, size_t N> -struct unique_if<T[N]> -{ - typedef void unique_array_known_bound; -}; - -template<class T, class... Args> -inline typename unique_if<T>::unique_single make_unique(Args&&... args) -{ - return std::unique_ptr<T>(new T(std::forward<Args>(args)...)); -} - -template<class T> -inline typename unique_if<T>::unique_array_unknown_bound make_unique(size_t n) -{ - typedef typename std::remove_extent<T>::type U; - return std::unique_ptr<T>(new U[n]()); -} - -template<class T, class... Args> -typename unique_if<T>::unique_array_known_bound make_unique(Args&&...) = delete; - -} // namespace std - -#endif // __cplusplus |
