PageRenderTime 13ms CodeModel.GetById 2ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 1ms

/Src/Dependencies/Boost/boost/fusion/container/vector/detail/value_of_impl.hpp

http://hadesmem.googlecode.com/
C++ Header | 37 lines | 26 code | 5 blank | 6 comment | 0 complexity | 990f767633fbe8f29513b324b77a2ea6 MD5 | raw file
 1/*=============================================================================
 2    Copyright (c) 2001-2006 Joel de Guzman
 3
 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
 9
10#include <boost/mpl/at.hpp>
11
12namespace boost { namespace fusion
13{
14    struct vector_iterator_tag;
15
16    namespace extension
17    {
18        template <typename Tag>
19        struct value_of_impl;
20
21        template <>
22        struct value_of_impl<vector_iterator_tag>
23        {
24            template <typename Iterator>
25            struct apply 
26            {
27                typedef typename Iterator::vector vector;
28                typedef typename Iterator::index index;
29                typedef typename mpl::at<
30                    typename vector::types, index>::type
31                type;
32            };
33        };
34    }
35}}
36
37#endif