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/fusion/support/config.hpp>
11 #include <boost/fusion/container/vector/detail/value_at_impl.hpp>
13 namespace boost { namespace fusion
15 struct vector_iterator_tag;
19 template <typename Tag>
23 struct value_of_impl<vector_iterator_tag>
25 template <typename Iterator>
28 typedef typename Iterator::vector vector;
29 typedef typename Iterator::index index;
30 typedef typename value_at_impl<vector_tag>::template apply<vector, index>::type type;