]> git.sesse.net Git - casparcg/blob - dependencies/boost/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp
Manually merged pull request #222
[casparcg] / dependencies / boost / boost / fusion / algorithm / iteration / reverse_fold_fwd.hpp
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
8 #ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP
9 #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP
10
11 namespace boost { namespace fusion
12 {
13     namespace result_of
14     {
15         template<typename Seq, typename State, typename F>
16         struct reverse_fold;
17     }
18
19     template<typename Seq, typename State, typename F>
20     typename result_of::reverse_fold<
21         Seq
22       , State const
23       , F
24     >::type
25     reverse_fold(Seq& seq, State const& state, F f);
26
27     template<typename Seq, typename State, typename F>
28     typename result_of::reverse_fold<
29         Seq const
30       , State const
31       , F
32     >::type
33     reverse_fold(Seq const& seq, State const& state, F f);
34
35     template<typename Seq, typename State, typename F>
36     typename result_of::reverse_fold<
37         Seq
38       , State const
39       , F
40     >::type
41     reverse_fold(Seq& seq, State& state, F f);
42
43     template<typename Seq, typename State, typename F>
44     typename result_of::reverse_fold<
45         Seq const
46       , State const
47       , F
48     >::type
49     reverse_fold(Seq const& seq, State& state, F f);
50 }}
51
52 #endif