[#this_thread] == cobalt/this_thread.hpp Since everything is single threaded this library provides an executor & default memory-resource for every thread. [source,cpp] ---- namespace boost::cobalt::this_thread { pmr::memory_resource* get_default_resource() noexcept; // <1> pmr::memory_resource* set_default_resource(pmr::memory_resource* r) noexcept; // <2> pmr::polymorphic_allocator get_allocator(); // <3> typename asio::io_context::executor_type & get_executor(); // <4> void set_executor(asio::io_context::executor_type exec) noexcept; // <5> } ---- <1> Get the default resource - will be pmr::get_default_resource unless set <2> Set the default resource - returns the previously set one <3> Get an allocator wrapping (1) <4> Get the executor of the thread - throws if not set <5> Set the executor of the current thread. The coroutines will use these as defaults, but keep a copy just in case. NOTE: The only exception is the initialization of an cobalt-operation, which will use the this_thread::executor to rethrow from.