ZtAyncio/include/asyncio.hpp
2025-07-15 16:11:56 +08:00

24 lines
636 B
C++

#include <coroutine>
#include <future>
namespace zt{
template<class T>
struct Task{
struct promise_type;
struct promise_type{
std::promise<T> promise_;
void return_value(T value){promise_.set_value(value);}
auto initial_suspend(){
return std::suspend_always{};
}
auto final_suspend()noexcept{
return std::suspend_always{};
}
auto get_return_object(){
return Task<T>{};
}
void unhandled_exception(){
return;
}
};
};
}