41namespace sequoia::testing
48 template<test_mode Mode, moveonly T,
class U,
class V>
49 requires checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
50 bool check_semantics(std::string description,
56 optional_ref<const V> movedFromPostConstruction,
57 optional_ref<const V> movedFromPostAssignment)
59 sentinel<Mode> sentry{logger, add_type_info<T>(std::move(description)).append(
"\n")};
61 if constexpr(equivalence_checkable_for_semantics<Mode, T, U>)
63 impl::check_best_equivalence(logger, x, y, xEquivalent, yEquivalent);
66 return impl::check_semantics(
73 movedFromPostConstruction,
74 movedFromPostAssignment,
84 template<test_mode Mode, moveonly T,
class U,
class V>
85 requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
86 bool check_semantics(std::string description,
92 optional_ref<const V> movedFromPostConstruction,
93 optional_ref<const V> movedFromPostAssignment,
94 std::weak_ordering order)
96 sentinel<Mode> sentry{logger, add_type_info<T>(std::move(description)).append(
"\n")};
98 if constexpr(equivalence_checkable_for_semantics<Mode, T, U>)
100 impl::check_best_equivalence(logger, x, y, xEquivalent, yEquivalent);
103 return impl::check_semantics(
110 movedFromPostConstruction,
111 movedFromPostAssignment,
Free functions for performing checks, together with the 'checker' class template which wraps them.
Implementation details for checking move-only semantics.
Definition: TestLogger.hpp:277
Definition: TestLogger.hpp:183
Definition: SemanticsCheckersDetails.hpp:150
Definition: SemanticsCheckersDetails.hpp:116