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_IMPL_05052005_0324) 8 #define FUSION_VALUE_IMPL_05052005_0324 9 10 namespace boost { namespace fusion 11 { 12 struct single_view_iterator_tag; 13 14 namespace extension 15 { 16 template <typename Tag> 17 struct value_of_impl; 18 19 template <> 20 struct value_of_impl<single_view_iterator_tag> 21 { 22 template <typename Iterator> 23 struct apply 24 { 25 typedef typename Iterator::single_view_type single_view_type; 26 typedef typename single_view_type::value_type type; 27 }; 28 }; 29 } 30 }} 31 32 #endif 33 34 35