10 #include "HAL/cpp/make_unique.h"
15 #if defined(_MSC_VER) && _MSC_VER < 1900
16 #define DEFAULT_MOVE_CONSTRUCTOR(ClassName)
18 #define DEFAULT_MOVE_CONSTRUCTOR(ClassName) ClassName(ClassName&&) = default
21 #if defined(_MSC_VER) && _MSC_VER < 1900
22 #define constexpr const
25 #if (__cplusplus < 201103L) && !defined(_MSC_VER)
29 #if defined(_MSC_VER) && _MSC_VER < 1900
30 #define noexcept throw()
35 #if __GNUC__ == 4 && __GNUC_MINOR__ < 9
36 #include <type_traits>
39 using decay_t =
typename decay<T>::type;
50 void operator()(T*)
const noexcept {};
70 std::atomic<bool> moved{
false};
71 operator bool()
const {
return moved; }
77 #ifndef NAMESPACED_WPILIB