#pragma once

#include_next <utility>

#if defined(HAVE_STD_MOVE) && !HAVE_STD_MOVE
#include <type_traits>

namespace std {
    template<class T>
    typename std::remove_reference<T>::type&& move(T&& t) noexcept
    {
        return static_cast<typename std::remove_reference<T>::type&&>(t);
    }
}

#endif