The BOOST_PP_BITXOR macro expands to the bitwise XOR of its operands.

Usage

BOOST_PP_BITXOR(x, y)

Arguments

x
The left operand of the operation.  This value must expand to 0 or 1.
y
The right operand of the operation.  This value must expand to 0 or 1.

Remarks

If either x or y is 1 exclusively, this macro expands to 1.  Otherwise, it expands to 0.
This macro does not perform a boolean conversion on either operand before performing the bitwise OR operation.  If that conversion is necessary, use BOOST_PP_XOR instead.

See Also

Requirements

Header:  <boost/preprocessor/logical/bitxor.hpp>

Sample Code

#include <boost/preprocessor/logical/bitxor.hpp>

BOOST_PP_BITXOR(0, 0) // expands to 0
BOOST_PP_BITXOR(0, 1) // expands to 1
BOOST_PP_BITXOR(1, 0) // expands to 1
BOOST_PP_BITXOR(1, 1) // expands to 0

© Copyright Housemarque Oy 2002
© Copyright Paul Mensonides 2002

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)