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_FWD_HPP_INCLUDED)
8 #define BOOST_FUSION_FIND_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 namespace boost { namespace fusion
15 {
16     namespace result_of
17     {
18         template <typename Sequence, typename T>
19         struct find;
20     }
21 
22     template <typename T, typename Sequence>
23     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
24     inline typename
25         lazy_disable_if<
26             is_const<Sequence>
27           , result_of::find<Sequence, T>
28         >::type const
29     find(Sequence& seq);
30 
31     template <typename T, typename Sequence>
32     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
33     inline typename result_of::find<Sequence const, T>::type const
34     find(Sequence const& seq);
35 }}
36 
37 #endif
38