From c33857273550251284f20623b51b6ae0a119fe81 Mon Sep 17 00:00:00 2001 From: morinmorin Date: Sat, 16 Sep 2017 11:51:12 +0900 Subject: [PATCH] Fix usage of decltype-based result_of in transform_iterator. Regardless of value categories of a transform_iterator object, its dereference operator calls m_f as an lvalue. Thus, correct usage of decltype-based result_of is result_of. --- include/boost/iterator/transform_iterator.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/boost/iterator/transform_iterator.hpp b/include/boost/iterator/transform_iterator.hpp index 67356ff..2281df8 100644 --- a/include/boost/iterator/transform_iterator.hpp +++ b/include/boost/iterator/transform_iterator.hpp @@ -47,7 +47,11 @@ namespace iterators { // the function. typedef typename ia_dflt_help< Reference +#ifdef BOOST_RESULT_OF_USE_TR1 , result_of::reference)> +#else + , result_of::reference)> +#endif >::type reference; // To get the default for Value: remove any reference on the