]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/phoenix/core/detail/cpp03/function_equal.hpp
bump version to 15.2.11-pve1
[ceph.git] / ceph / src / boost / boost / phoenix / core / detail / cpp03 / function_equal.hpp
CommitLineData
7c673cae
FG
1/*==============================================================================
2 Copyright (c) 2005-2010 Joel de Guzman
3 Copyright (c) 2010 Thomas Heller
4
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7==============================================================================*/
8#ifndef BOOST_PHOENIX_CORE_DETAIL_FUNCTION_EQUAL_HPP
9#define BOOST_PHOENIX_CORE_DETAIL_FUNCTION_EQUAL_HPP
10
11#include <boost/preprocessor/arithmetic/inc.hpp>
12#include <boost/preprocessor/repetition/repeat_from_to.hpp>
13
14#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
15#include <boost/phoenix/core/detail/cpp03/preprocessed/function_equal.hpp>
16#else
17#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
18#pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_equal_" BOOST_PHOENIX_LIMIT_STR ".hpp")
19#endif
20/*==============================================================================
21 Copyright (c) 2001-2010 Joel de Guzman
22 Copyright (c) 2004 Daniel Wallin
23 Copyright (c) 2010 Thomas Heller
24
25 Distributed under the Boost Software License, Version 1.0. (See accompanying
26 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
27==============================================================================*/
28#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
29#pragma wave option(preserve: 1)
30#endif
31
32 #define BOOST_PHOENIX_FUNCTION_EQUAL_R(Z, N, DATA) \
33 && function_equal_()( \
34 proto::child_c< N >(e1) \
35 , proto::child_c< N >(e2) \
36 ) \
37 /**/
38
39 #define BOOST_PHOENIX_FUNCTION_EQUAL(Z, N, DATA) \
40 template <typename Expr1> \
41 result_type \
42 evaluate( \
43 Expr1 const& e1 \
44 , Expr1 const& e2 \
45 , mpl::long_< N > \
46 ) const \
47 { \
48 return \
49 function_equal_()( \
50 proto::child_c<0>(e1) \
51 , proto::child_c<0>(e2) \
52 ) \
53 BOOST_PP_REPEAT_FROM_TO( \
54 1 \
55 , N \
56 , BOOST_PHOENIX_FUNCTION_EQUAL_R \
57 , _ \
58 ); \
59 } \
60 /**/
61
62 BOOST_PP_REPEAT_FROM_TO(
63 1
64 , BOOST_PP_INC(BOOST_PROTO_MAX_ARITY)
65 , BOOST_PHOENIX_FUNCTION_EQUAL
66 , _
67 )
68 #undef BOOST_PHOENIX_FUNCTION_EQUAL_R
69 #undef BOOST_PHOENIX_FUNCTION_EQUAL
70
71#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
72#pragma wave option(output: null)
73#endif
74#endif
75
76#endif
77