diff --git a/include/boost/test/utils/is_forward_iterable.hpp b/include/boost/test/utils/is_forward_iterable.hpp index e8f5d394..85eb3086 100644 --- a/include/boost/test/utils/is_forward_iterable.hpp +++ b/include/boost/test/utils/is_forward_iterable.hpp @@ -202,8 +202,12 @@ struct bt_iterator_traits; template struct bt_iterator_traits< T, true >{ BOOST_STATIC_ASSERT((is_forward_iterable::value)); //, "only for forward iterable types"); +#if defined(BOOST_TEST_FWD_ITERABLE_CXX03) typedef typename T::const_iterator const_iterator; - typedef typename T::value_type value_type; +#else + typedef decltype(std::declval().begin()) const_iterator; +#endif + typedef typename std::iterator_traits::value_type value_type; static const_iterator begin(T const& container) { return container.begin();