1 /*============================================================================= 2 Copyright (c) 2001-2011 Joel de Guzman 3 Copyright (c) 2005 Eric Niebler 4 5 Distributed under the Boost Software License, Version 1.0. (See accompanying 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 ==============================================================================*/ 8 #if !defined(FUSION_VALUE_OF_IMPL_07172005_0838) 9 #define FUSION_VALUE_OF_IMPL_07172005_0838 10 11 namespace boost { namespace fusion 12 { 13 struct cons_iterator_tag; 14 15 namespace extension 16 { 17 template <typename Tag> 18 struct value_of_impl; 19 20 template <> 21 struct value_of_impl<cons_iterator_tag> 22 { 23 template <typename Iterator> 24 struct apply 25 { 26 typedef typename Iterator::cons_type cons_type; 27 typedef typename cons_type::car_type type; 28 }; 29 }; 30 } 31 32 }} 33 34 #endif 35 36 37