File indexing completed on 2025-01-18 09:54:51
0001 #ifndef CPPCORO_COROUTINE_HPP_INCLUDED
0002 #define CPPCORO_COROUTINE_HPP_INCLUDED
0003
0004 #include <cppcoro/config.hpp>
0005
0006 #ifdef CPPCORO_COROHEADER_FOUND_AND_USABLE
0007
0008 #include <coroutine>
0009
0010 namespace cppcoro {
0011 using std::coroutine_handle;
0012 using std::suspend_always;
0013 using std::noop_coroutine;
0014 using std::suspend_never;
0015 }
0016
0017 #elif __has_include(<experimental/coroutine>)
0018
0019 #include <experimental/coroutine>
0020
0021 namespace cppcoro {
0022 using std::experimental::coroutine_handle;
0023 using std::experimental::suspend_always;
0024 using std::experimental::suspend_never;
0025
0026 #if CPPCORO_COMPILER_SUPPORTS_SYMMETRIC_TRANSFER
0027 using std::experimental::noop_coroutine;
0028 #endif
0029 }
0030
0031 #else
0032 #error Cppcoro requires a C++20 compiler with coroutine support
0033 #endif
0034
0035 #endif