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