dpp::job
coro/job.h

Extremely light coroutine object designed to send off a coroutine to execute on its own. Can be used in conjunction with coroutine events via event routers, or on its own.

This object stores no state and is the recommended way to use coroutines if you do not need to co_await the result.

- This feature is EXPERIMENTAL. The API may change at any time and there may be bugs. Please report any to GitHub Issues or to our Discord Server.

- It cannot be co_awaited, which means the second it co_awaits something, the program jumps back to the calling function, which continues executing. At this point, if the function returns, every object declared in the function including its parameters are destroyed, which causes dangling references. For this reason, `co_await` will error if any parameters are passed by reference. If you must pass a reference, pass it as a pointer or with std::ref, but you must fully understand the reason behind this warning, and what to avoid. If you prefer a safer type, use `coroutine` for synchronous execution, or `task` for parallel tasks, and co_await them.