Removes the make_unique shim for c++11 (#1010)

All of our compilers support c++14 now.
This commit is contained in:
Thad House
2018-04-30 10:28:34 -07:00
committed by Peter Johnson
parent a28832e52f
commit a098814ea0
14 changed files with 0 additions and 61 deletions

View File

@@ -1,47 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2016-2018 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#pragma once
// Define make_unique for C++11-only compilers
#if __cplusplus == 201103L
#include <cstddef>
#include <memory>
#include <type_traits>
#include <utility>
namespace std {
template <class T>
struct _Unique_if {
typedef unique_ptr<T> _Single_object;
};
template <class T>
struct _Unique_if<T[]> {
typedef unique_ptr<T[]> _Unknown_bound;
};
template <class T, size_t N>
struct _Unique_if<T[N]> {
typedef void _Known_bound;
};
template <class T, class... Args>
typename _Unique_if<T>::_Single_object make_unique(Args&&... args) {
return unique_ptr<T>(new T(std::forward<Args>(args)...));
}
template <class T>
typename _Unique_if<T>::_Unknown_bound make_unique(size_t n) {
typedef typename remove_extent<T>::type U;
return unique_ptr<T>(new U[n]());
}
template <class T, class... Args>
typename _Unique_if<T>::_Known_bound make_unique(Args&&...) = delete;
} // namespace std
#endif

View File

@@ -16,7 +16,6 @@
#include "HAL/Errors.h"
#include "HAL/Types.h"
#include "HAL/cpp/make_unique.h"
#include "HAL/handles/HandlesInternal.h"
namespace hal {

View File

@@ -17,7 +17,6 @@
#include "HAL/Errors.h"
#include "HAL/Types.h"
#include "HAL/cpp/make_unique.h"
#include "HAL/handles/HandlesInternal.h"
namespace hal {

View File

@@ -16,7 +16,6 @@
#include "HAL/Errors.h"
#include "HAL/Types.h"
#include "HAL/cpp/make_unique.h"
#include "HAL/handles/HandlesInternal.h"
namespace hal {

View File

@@ -15,7 +15,6 @@
#include <wpi/mutex.h>
#include "HAL/Types.h"
#include "HAL/cpp/make_unique.h"
#include "HAL/handles/HandlesInternal.h"
namespace hal {

View File

@@ -15,7 +15,6 @@
#include <wpi/mutex.h>
#include "HAL/Types.h"
#include "HAL/cpp/make_unique.h"
#include "HandlesInternal.h"
namespace hal {