#include #include namespace zt{ template struct Task{ struct promise_type; struct promise_type{ std::promise 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{}; } void unhandled_exception(){ return; } }; }; }