/*============================================================================= Copyright (c) 2001-2006 Joel de Guzman 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_ALL_05052005_1237) #define FUSION_ALL_05052005_1237 #include #include #include #include namespace boost { namespace fusion { namespace detail { template inline bool all(First const&, Last const&, F const&, mpl::true_) { return true; } template inline bool all(First const& first, Last const& last, F& f, mpl::false_) { typename result_of::deref::type x = *first; return f(x) && detail::all( fusion::next(first) , last , f , result_of::equal_to::type, Last>()); } }}} #endif