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