#pragma once namespace std { enum class future_status { ready, timeout, deferred }; class future_error; template class promise; template class promise; template<> class promise; template class future; template class future; template<> class future; template class shared_future; template class shared_future; template<> class shared_future; template class packaged_task; template class packaged_task; }