2010/8/12 gast128 <gast128@hotmail.com>
> Hello all,
> small question: there seems no xor operator in c++ but there is also no Boost
> xor functor (like the std::logical_and)?
> Scenario: I have 2 data members used in variant like way: only 1 may be
valid.
> Both valid or both invalid is incorrect.
>
> Can't you use !!A != !!B? (or !!A ^ !!B)

ah quite brilliant! I was thinking about the (a ? !b : b). Still a logical_xor
does also has a documentation value.

operator^ works fine for booleans, and I guess that's what you want to apply logical_xor to.

bool a, b;
bool c = a ^ b;  // Fine. 

Roman Perepelitsa.