For example, it should be very helpful to equal compare a std::variant<T1, T2>
with a T1
or T2
. So far we can only compare with the same variant type.
It is an arbitrary decision by the standards committee.
Ok, not quite arbitrary. The point is you have a scale* of strictness of comparison, with points such as:
These are all valid choices. the C++ committee made the decision based on all sorts of extrinsic criteria. Try looking up the std::variant
proposal, as perhaps it says what these criteria are.
(*) - A lattice actually.