[indirect.comp.with.t] (original) (raw)

20 Memory management library [mem]

20.4 Types for composite class design [mem.composite.types]

20.4.1 Class template indirect [indirect]

20.4.1.9 Comparison with T [indirect.comp.with.t]

template<class U> constexpr bool operator==(const indirect& lhs, const U& rhs) noexcept(noexcept(*lhs == rhs));

Mandates: The expression *lhs == rhs is well-formed and its result is convertible to bool.

Returns: If lhs is valueless, false; otherwise *lhs == rhs.

template<class U> constexpr _synth-three-way-result_<T, U> operator<=>(const indirect& lhs, const U& rhs);

Returns: If lhs is valueless, strong_ordering​::​less; otherwise synth-three-way(*lhs, rhs).