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