1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #if !defined(FUSION_VALUE_OF_IMPL_05052005_1128)
8 #define FUSION_VALUE_OF_IMPL_05052005_1128
10 #include <boost/mpl/at.hpp>
12 namespace boost { namespace fusion
14 struct vector_iterator_tag;
18 template <typename Tag>
22 struct value_of_impl<vector_iterator_tag>
24 template <typename Iterator>
27 typedef typename Iterator::vector vector;
28 typedef typename Iterator::index index;
29 typedef typename mpl::at<
30 typename vector::types, index>::type