williamr@2: # /* **************************************************************************
williamr@2: #  *                                                                          *
williamr@2: #  *     (C) Copyright Paul Mensonides 2002.
williamr@2: #  *     Distributed under the Boost Software License, Version 1.0. (See
williamr@2: #  *     accompanying file LICENSE_1_0.txt or copy at
williamr@2: #  *     http://www.boost.org/LICENSE_1_0.txt)
williamr@2: #  *                                                                          *
williamr@2: #  ************************************************************************** */
williamr@2: #
williamr@2: # /* See http://www.boost.org for most recent version. */
williamr@2: #
williamr@2: # ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
williamr@2: # define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
williamr@2: #
williamr@2: # include <boost/preprocessor/config/config.hpp>
williamr@2: #
williamr@2: # /* BOOST_PP_BITAND */
williamr@2: #
williamr@2: # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
williamr@2: #    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
williamr@2: # else
williamr@2: #    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
williamr@2: #    define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
williamr@2: # endif
williamr@2: #
williamr@2: # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
williamr@2: #    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
williamr@2: # else
williamr@2: #    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
williamr@2: #    define BOOST_PP_BITAND_ID(res) res
williamr@2: # endif
williamr@2: #
williamr@2: # define BOOST_PP_BITAND_00 0
williamr@2: # define BOOST_PP_BITAND_01 0
williamr@2: # define BOOST_PP_BITAND_10 0
williamr@2: # define BOOST_PP_BITAND_11 1
williamr@2: #
williamr@2: # endif