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