6#define DEFER_CAT_IMPL(x, y) x##y
7#define DEFER_CAT(x, y) DEFER_CAT_IMPL(x, y)
9#define defer(...) auto DEFER_CAT(_defer_, __COUNTER__) = ::roboctrl::utils::detail::Defer([&](){ __VA_ARGS__; })
15 Defer(
F&&
f) : fn(std::forward<F>(
f)) {}
19 std::function<
void()> fn;
asio::awaitable< T > awaitable
协程任务类型。