coroutine.hpp 853 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright Oliver Kowalke 2014.
  2. // Distributed under the Boost Software License, Version 1.0.
  3. // (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt)
  5. #ifndef BOOST_COROUTINES2_COROUTINE_H
  6. #define BOOST_COROUTINES2_COROUTINE_H
  7. #include <exception>
  8. #include <boost/assert.hpp>
  9. #include <boost/config.hpp>
  10. #include <boost/coroutine2/detail/coroutine.hpp>
  11. #ifdef BOOST_HAS_ABI_HEADERS
  12. # include BOOST_ABI_PREFIX
  13. #endif
  14. namespace boost {
  15. namespace coroutines2 {
  16. template< typename T >
  17. struct coroutine {
  18. using pull_type = detail::pull_coroutine< T >;
  19. using push_type = detail::push_coroutine< T >;
  20. };
  21. template< typename T >
  22. using asymmetric_coroutine = coroutine< T >;
  23. }}
  24. #ifdef BOOST_HAS_ABI_HEADERS
  25. # include BOOST_ABI_SUFFIX
  26. #endif
  27. #endif // BOOST_COROUTINES2_COROUTINE_H