1 /*============================================================================= 2 Copyright (c) 2011 Eric Niebler 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(BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED) 8 #define BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED 9 10 #include <boost/fusion/support/config.hpp> 11 #include <boost/utility/enable_if.hpp> 12 #include <boost/type_traits/is_const.hpp> 13 14 // Forward declaration of find_if algorithm 15 namespace boost { namespace fusion 16 { 17 namespace result_of 18 { 19 template <typename Sequence, typename Pred> 20 struct find_if; 21 } 22 23 template <typename Pred, typename Sequence> 24 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 25 inline typename 26 lazy_disable_if< 27 is_const<Sequence> 28 , result_of::find_if<Sequence, Pred> 29 >::type 30 find_if(Sequence& seq); 31 32 template <typename Pred, typename Sequence> 33 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 34 inline typename result_of::find_if<Sequence const, Pred>::type const 35 find_if(Sequence const& seq); 36 }} 37 38 #endif 39