xtd 1.0.0
Loading...
Searching...
No Matches
coroutine_method.cpp

Shows how to use coroutine with method and task.

#include <xtd/xtd>
class example {
public:
static auto main() async_ {
println("[main], thread {}] -> start", thread::current_thread().managed_thread_id());
auto message = co_await get_message();
auto length = co_await get_size(message);
println("message : {}", message);
println("length : {}", length);
println("[main, thread {}] -> end", thread::current_thread().managed_thread_id());
}
private:
static auto get_message() -> task<string> {
co_return "Hello, World!";
}
static auto get_size(auto message) -> task<usize> {
co_return message.size();
}
};
startup_(example::main);
// This code produces the following output :
//
// [main], thread 1] -> start
// message : Hello, World!
// length : 13
// [main, thread 3] -> end
#define startup_(...)
Defines the entry point to be called when the application loads. Generally this is set either to the ...
Definition startup.hpp:278