/*============================================================================= Copyright (c) 2003 Joel de Guzman Copyright (c) 2004 Peder Holt Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ITERATOR_TRANSFORM_VIEW_ITERATOR_HPP) #define FUSION_ITERATOR_TRANSFORM_VIEW_ITERATOR_HPP #include #include #include #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; template struct transform_view_iterator : iterator_base > { typedef transform_view_iterator_tag tag; typedef as_fusion_iterator converter; typedef typename converter::type first_type; typedef F transform_type; transform_view_iterator(First const& first, F f); first_type first; transform_type f; }; template transform_view_iterator::transform_view_iterator(First const& first, F f) : first(converter::convert(first)), f(f) {} }} #endif