1 #if __has_include (<coroutine>)
4 #elif defined (__clang__) && __has_include (<experimental/coroutine>)
5 #include <experimental/coroutine>
6 using namespace std::experimental;
12 ret_type () = default;
13 ret_type (const ret_type&) = delete;
14 //ret_type (ret_type&&) = default;
22 auto get_return_object () -> task { return {}; }
23 auto initial_suspend () -> suspend_always { return {}; }
24 auto final_suspend () -> suspend_always { return {}; }
25 void return_void () {}
26 void unhandled_exception () { }
27 void thing (ret_type x) {}
33 bool await_ready() const { return true; }
34 void await_suspend (coroutine_handle<>) {}
35 ret_type await_resume() { return {}; }
41 ret_type r2{co_await awaiter{}};
42 //ret_type r3 (std::move(r2));