1 /*============================================================================= 2 Copyright (c) 2001-2011 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_EQUAL_TO_IMPL_09172005_1120) 8 #define FUSION_EQUAL_TO_IMPL_09172005_1120 9 10 #include <boost/fusion/support/config.hpp> 11 #include <boost/type_traits/is_same.hpp> 12 #include <boost/mpl/equal_to.hpp> 13 #include <boost/mpl/and.hpp> 14 15 namespace boost { namespace fusion 16 { 17 struct cons_iterator_tag; 18 19 namespace extension 20 { 21 template <typename Tag> 22 struct equal_to_impl; 23 24 template <> 25 struct equal_to_impl<cons_iterator_tag> 26 { 27 template <typename I1, typename I2> 28 struct apply 29 : is_same< 30 typename I1::identity 31 , typename I2::identity 32 > 33 { 34 }; 35 }; 36 } 37 }} 38 39 #endif 40 41