1 
2 #ifndef BOOST_MPL_BITAND_HPP_INCLUDED
3 #define BOOST_MPL_BITAND_HPP_INCLUDED
4 
5 // Copyright Aleksey Gurtovoy 2000-2009
6 // Copyright Jaap Suter 2003
7 //
8 // Distributed under the Boost Software License, Version 1.0.
9 // (See accompanying file LICENSE_1_0.txt or copy at
10 // http://www.boost.org/LICENSE_1_0.txt)
11 //
12 // See http://www.boost.org/libs/mpl for documentation.
13 
14 // $Id$
15 // $Date$
16 // $Revision$
17 
18 // agurt, 23/jan/10: workaround a conflict with <iso646.h> header's
19 // macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)'
20 // has to be checked in a separate condition, otherwise GCC complains
21 // about 'bitand' being an alternative token
22 #if defined(_MSC_VER) && !defined(__clang__)
23 #ifndef __GCCXML__
24 #if defined(bitand)
25 #   pragma push_macro("bitand")
26 #   undef bitand
27 #   define bitand(x)
28 #endif
29 #endif
30 #endif
31 
32 #define AUX778076_OP_NAME   bitand_
33 #define AUX778076_OP_PREFIX bitand
34 #define AUX778076_OP_TOKEN  &
35 #include <boost/mpl/aux_/arithmetic_op.hpp>
36 
37 #if defined(_MSC_VER) && !defined(__clang__)
38 #ifndef __GCCXML__
39 #if defined(bitand)
40 #   pragma pop_macro("bitand")
41 #endif
42 #endif
43 #endif
44 
45 #endif // BOOST_MPL_BITAND_HPP_INCLUDED
46