diff --git a/include/boost/iterator/function_input_iterator.hpp b/include/boost/iterator/function_input_iterator.hpp index caa6272..11f87de 100644 --- a/include/boost/iterator/function_input_iterator.hpp +++ b/include/boost/iterator/function_input_iterator.hpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include @@ -38,7 +38,7 @@ namespace iterators { { typedef typename result_of< #ifdef BOOST_RESULT_OF_USE_TR1 - typename mpl::if_, F&, F>::type() + typename boost::conditional::value, F&, F>::type() #else F&() #endif @@ -46,12 +46,12 @@ namespace iterators { }; template - class function_input_iterator - : public iterator_facade< - function_input_iterator, - typename result_of_nullary_lvalue_call::type, - single_pass_traversal_tag, - typename result_of_nullary_lvalue_call::type const & + class function_input_iterator : + public iterator_facade< + function_input_iterator, + typename result_of_nullary_lvalue_call::type, + single_pass_traversal_tag, + typename result_of_nullary_lvalue_call::type const & > { public: @@ -83,12 +83,12 @@ namespace iterators { }; template - class function_pointer_input_iterator - : public iterator_facade< - function_pointer_input_iterator, - typename function_types::result_type::type, - single_pass_traversal_tag, - typename function_types::result_type::type const & + class function_pointer_input_iterator : + public iterator_facade< + function_pointer_input_iterator, + typename function_types::result_type::type, + single_pass_traversal_tag, + typename function_types::result_type::type const & > { public: @@ -122,15 +122,15 @@ namespace iterators { } // namespace impl template - class function_input_iterator - : public mpl::if_< - function_types::is_function_pointer, + class function_input_iterator : + public boost::conditional< + function_types::is_function_pointer::value, impl::function_pointer_input_iterator, impl::function_input_iterator >::type { - typedef typename mpl::if_< - function_types::is_function_pointer, + typedef typename boost::conditional< + function_types::is_function_pointer::value, impl::function_pointer_input_iterator, impl::function_input_iterator >::type base_type; @@ -153,7 +153,8 @@ namespace iterators { return result_t(f, state); } - struct infinite { + struct infinite + { infinite & operator++() { return *this; } infinite & operator++(int) { return *this; } bool operator==(infinite &) const { return false; };