/*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Distributed under 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_FUSION_ITERATOR_10012005_1551) #define FUSION_FUSION_ITERATOR_10012005_1551 #include #include #include #include #include #include #include #include #include namespace boost { namespace mpl { template struct fusion_iterator { typedef typename fusion::result_of::value_of::type type; typedef typename fusion::traits::category_of::type category; typedef Iterator iterator; }; template struct next > { typedef fusion_iterator::type> type; }; template struct prior > { typedef fusion_iterator::type> type; }; template struct advance, N> { typedef fusion_iterator::type> type; }; template struct distance, fusion_iterator > : fusion::result_of::distance {}; }} #endif