25 minimum(minimum), preferred(preferred), maximum(maximum),
margins(
margins)
27 hi_axiom(holds_invariant());
30 [[nodiscard]]
constexpr bool holds_invariant()
noexcept
32 return minimum <= preferred and preferred <= maximum;
37 return widget_constraints{lhs.minimum + rhs, lhs.preferred + rhs, lhs.maximum + rhs, lhs.margins};
40 [[nodiscard]]
friend constexpr bool
46 max(lhs.minimum, rhs.minimum),
47 max(lhs.preferred, rhs.preferred),
48 max(lhs.maximum, rhs.maximum),
49 max(lhs.margins, rhs.margins)};
54 return widget_constraints{max(lhs.minimum, rhs), max(lhs.preferred, rhs), max(lhs.maximum, rhs), lhs.margins};
57 template<
typename... Args>
59 requires(
sizeof...(Args) >= 2)
61 return max(first, max(args...));