mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Loading...
Searching...
No Matches
attributes.hpp
1#ifndef MRS_LIB_CORO_INTERNAL_ATTRIBUTES_HPP_
2#define MRS_LIB_CORO_INTERNAL_ATTRIBUTES_HPP_
3
4// These annotations are currently not used, because they do not allow using
5// std::invoke to call coroutines.
6#ifdef __clang__
7#define MRS_LIB_INTERNAL_CORO_RETURN_TYPE [[clang::coro_return_type]]
8#define MRS_LIB_INTERNAL_CORO_WRAPPER [[clang::coro_wrapper]]
9#define MRS_LIB_INTERNAL_CORO_LIFETIMEBOUND [[clang::coro_lifetimebound]]
10#else
11#define MRS_LIB_INTERNAL_CORO_RETURN_TYPE
12#define MRS_LIB_INTERNAL_CORO_WRAPPER
13#define MRS_LIB_INTERNAL_CORO_LIFETIMEBOUND
14#endif
15
16#endif // MRS_LIB_CORO_INTERNAL_ATTRIBUTES_HPP_