Provide the new comparesEqual() helper function as an implementation of
the (in)equality operators.
The smart pointers are totally ordered, so generalize
QExplicitlySharedDataPointerV2 to the full comparison set by adding
compareThreeWay() helper function.
Use Q_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE to provide all relational
operators.
Add comparisons between QExplicitlySharedDataPointerV2 and
std::nullptr_t.
Use QT_TEST_ALL_COMPARISON_OPS macros in unit-tests.
Use the new Qt::totally_ordered_wrapper to wrap the "d" pointer to
avoid UB when performing comparisons of QExplicitlySharedDataPointerV2.
Task-number: QTBUG-120306
Change-Id: I177fdc1ff2363a5e84e65506468093b87c5c9c03
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>