34 constexpr widget_constraints() noexcept : minimum(), preferred(), maximum(), margins(), baseline() {}
43 hi::margins margins = hi::margins{},
45 minimum(minimum), preferred(preferred), maximum(maximum), margins(margins), baseline(baseline)
50 [[nodiscard]]
constexpr bool holds_invariant()
noexcept
52 return minimum <= preferred and preferred <= maximum;
57 return widget_constraints{lhs.minimum + rhs, lhs.preferred + rhs, lhs.maximum + rhs, lhs.margins, lhs.baseline};
60 [[nodiscard]]
friend constexpr bool
66 max(lhs.minimum, rhs.minimum),
67 max(lhs.preferred, rhs.preferred),
68 max(lhs.maximum, rhs.maximum),
69 max(lhs.margins, rhs.margins),
70 std::max(lhs.baseline, rhs.baseline)};
76 max(lhs.minimum, rhs), max(lhs.preferred, rhs), max(lhs.maximum, rhs), lhs.margins, lhs.baseline};
79 template<
typename... Args>
81 requires(
sizeof...(Args) >= 2)
83 return max(first, max(args...));
#define hi_axiom(expression)
Specify an axiom; an expression that is true.
Definition assert.hpp:133