#ifndef BOOST_RANGE_VIEW_HPP_INCLUDED_ #define BOOST_RANGE_VIEW_HPP_INCLUDED_ #include #include #include #include #include namespace boost { template< typename IteratorT, typename FunT > inline iterator_range< transform_iterator< FunT, IteratorT > > make_view(IteratorT const& begin, IteratorT const& end, FunT const& fun) { return make_iterator_range( make_transform_iterator(begin, fun), make_transform_iterator(end, fun)); } template< typename RangeT, typename FunT > inline iterator_range< transform_iterator< FunT, typename range_iterator< const RangeT >::type > > make_view(RangeT const& range, FunT const& fun) { return make_view(begin(range), end(range), fun); } } // namespace boost #endif // BOOST_RANGE_VIEW_HPP_INCLUDED_