Imported Upstream version 1.72.0
[platform/upstream/boost.git] / boost / coroutine / asymmetric_coroutine.hpp
index 78b1842..f2ae16f 100644 (file)
@@ -14,7 +14,6 @@
 #include <boost/assert.hpp>
 #include <boost/config.hpp>
 #include <boost/move/move.hpp>
-#include <boost/range.hpp>
 #include <boost/throw_exception.hpp>
 #include <boost/utility/explicit_operator_bool.hpp>
 
@@ -2391,12 +2390,19 @@ end( push_coroutine< R > & c)
 
 }
 
+// forward declaration of Boost.Range traits to break dependency on it
+template<typename C, typename Enabler>
+struct range_mutable_iterator;
+
+template<typename C, typename Enabler>
+struct range_const_iterator;
+
 template< typename Arg >
-struct range_mutable_iterator< coroutines::push_coroutine< Arg > >
+struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void >
 { typedef typename coroutines::push_coroutine< Arg >::iterator type; };
 
 template< typename R >
-struct range_mutable_iterator< coroutines::pull_coroutine< R > >
+struct range_mutable_iterator< coroutines::pull_coroutine< R >, void >
 { typedef typename coroutines::pull_coroutine< R >::iterator type; };
 
 }