1 #ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
2 #define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
6 * http://www.housemarque.com
8 * Permission to copy, use, modify, sell and distribute this software is
9 * granted provided this copyright notice appears in all copies. This
10 * software is provided "as is" without express or implied warranty, and
11 * with no claim as to its suitability for any purpose.
13 * See http://www.boost.org for most recent version.
16 #include <boost/preprocessor/logical/and.hpp>
18 /** <p>Expands to the logical EXCLUSIVE OR of the operands.</p>
20 <p>Both <code>X</code> and <code>Y</code> must expand to integer literals
21 in the range [0, BOOST_PP_LIMIT_MAG].</p>
23 <p>For example, <code>BOOST_PP_XOR(1,2)</code> expands to <code>0</code> (a single token).</p>
27 <li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
30 #define BOOST_PP_XOR(X,Y) BOOST_PP_NOR(BOOST_PP_NOR(X,Y),BOOST_PP_AND(X,Y))