#pragma once #if !defined(MIJIN_ASYNC_COROUTINE_SLEEP_HPP_INCLUDED) #define MIJIN_ASYNC_COROUTINE_SLEEP_HPP_INCLUDED 1 #include #include "./coroutine.hpp" namespace mijin { template Task<> c_sleep(std::chrono::duration duration) { auto now = std::chrono::steady_clock::now(); const auto end = now + duration; while (now < end) { co_await c_suspend(); now = std::chrono::steady_clock::now(); } co_return; } } // namespace mijin #endif // !defined(MIJIN_ASYNC_COROUTINE_SLEEP_HPP_INCLUDED)