Home | History | Annotate | Download | only in logical
      1 # /* **************************************************************************
      2 #  *                                                                          *
      3 #  *     (C) Copyright Paul Mensonides 2002.
      4 #  *     Distributed under the Boost Software License, Version 1.0. (See
      5 #  *     accompanying file LICENSE_1_0.txt or copy at
      6 #  *     http://www.boost.org/LICENSE_1_0.txt)
      7 #  *                                                                          *
      8 #  ************************************************************************** */
      9 #
     10 # /* See http://www.boost.org for most recent version. */
     11 #
     12 # ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
     13 # define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
     14 #
     15 # include <boost/preprocessor/config/config.hpp>
     16 #
     17 # /* BOOST_PP_BITAND */
     18 #
     19 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
     20 #    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
     21 # else
     22 #    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
     23 #    define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
     24 # endif
     25 #
     26 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
     27 #    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
     28 # else
     29 #    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
     30 #    define BOOST_PP_BITAND_ID(res) res
     31 # endif
     32 #
     33 # define BOOST_PP_BITAND_00 0
     34 # define BOOST_PP_BITAND_01 0
     35 # define BOOST_PP_BITAND_10 0
     36 # define BOOST_PP_BITAND_11 1
     37 #
     38 # endif
     39