1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3     Copyright (c) 2005-2006 Dan Marsden
4     Copyright (c) 2009-2010 Christopher Schmidt
5 
6     Distributed under the Boost Software License, Version 1.0. (See accompanying
7     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 ==============================================================================*/
9 
10 #ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP
11 #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP
12 
13 namespace boost { namespace fusion { namespace extension
14 {
15     template<typename>
16     struct value_at_impl;
17 
18     template <>
19     struct value_at_impl<struct_tag>
20     {
21         template <typename Seq, typename N>
22         struct apply
23           : access::struct_member<typename remove_const<Seq>::type, N::value>
24         {};
25     };
26 
27     template <>
28     struct value_at_impl<assoc_struct_tag>
29       : value_at_impl<struct_tag>
30     {};
31 }}}
32 
33 #endif
34