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_OPERATOR_ARITHMETIC_HPP
9 #define BOOST_PHOENIX_OPERATOR_ARITHMETIC_HPP
10 
11 #include <boost/phoenix/operator/detail/define_operator.hpp>
12 #include <boost/phoenix/core/expression.hpp>
13 #include <boost/proto/operators.hpp>
14 
15 namespace boost { namespace phoenix
16 {
17     BOOST_PHOENIX_UNARY_OPERATORS(
18         (negate)
19         (unary_plus)
20         (pre_inc)
21         (pre_dec)
22         (post_inc)
23         (post_dec)
24     )
25 
26     BOOST_PHOENIX_BINARY_OPERATORS(
27         (plus_assign)
28         (minus_assign)
29         (multiplies_assign)
30         (divides_assign)
31         (modulus_assign)
32         (plus)
33         (minus)
34         (multiplies)
35         (divides)
36         (modulus)
37     )
38 
39     using proto::exprns_::operator++;
40     using proto::exprns_::operator--;
41     using proto::exprns_::operator+=;
42     using proto::exprns_::operator-=;
43     using proto::exprns_::operator*=;
44     using proto::exprns_::operator/=;
45     using proto::exprns_::operator%=;
46     using proto::exprns_::operator+;
47     using proto::exprns_::operator-;
48     using proto::exprns_::operator*;
49     using proto::exprns_::operator/;
50     using proto::exprns_::operator%;
51 }}
52 
53 #include <boost/phoenix/operator/detail/undef_operator.hpp>
54 
55 #endif
56