/*============================================================================= Copyright (c) 2003 Joel de Guzman Copyright (c) 2004 Peder Holt Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ITERATOR_EQUAL_TO_HPP) #define FUSION_ITERATOR_EQUAL_TO_HPP #include #include #include #include namespace boost { namespace fusion { namespace meta { template struct equal_to_impl { template struct apply { typedef typename is_same< typename add_const::type , typename add_const::type >::type type; BOOST_STATIC_CONSTANT(bool, value = FUSION_GET_VALUE(type)); }; }; template struct equal_to : detail::bool_base< typename equal_to_impl::type::tag>:: template apply< typename as_fusion_iterator::type , typename as_fusion_iterator::type >::type > {}; } }} #endif