BOOST_PP_XOR マクロはオペランドの論理的排他和 XOR に展開される。
Usage
BOOST_PP_XOR(p, q)
Arguments
-
p: 演算における左オペランド。 有効な値の範囲は0からBOOST_PP_LIMIT_MAGまで。 -
q: 演算における右オペランド。 有効な値の範囲は0からBOOST_PP_LIMIT_MAGまで。
Remarks
もし p か q が排他的に非 0 ならば、このマクロは 1 に展開される。 そうでなければ 0 に展開される。
このマクロは論理的排他和 XOR 演算を行う前に、それぞれのオペランドをブーリアンに変換する。 もしこの変換が不要なら、代わりに BOOST_PP_BITXOR を使うこと。
See Also
Requirements
Header: <boost/preprocessor/logical/xor.hpp>
Sample Code
#include <boost/preprocessor/logical/xor.hpp>
BOOST_PP_XOR(4, 3) // expands to 0
BOOST_PP_XOR(5, 0) // expands to 1