Comparisons

`bool operator==(const failure_type<A, B> &) const`

Returns true if this outcome is unsuccessful and its error compares equal to the error in the failure type sugar. Comparison is done using operator== on error_type and A and on exception_type and B. Requires: operator== must be a valid expression between error_type and A, or A is void; operator== must be a valid expression between exception_type and B, or B is void. If error_type is void, then so must be A; if exception_type is void, then so must be B. »

`bool operator==(const failure_type<A, void> &) const`

Returns true if this result is unsuccessful and its error compares equal to the error in the failure type sugar. Comparison is done using operator== on error_type and A. If A is void, this call aliases bool has_error() const noexcept . Requires: operator== must be a valid expression between error_type and A, or A is void. If error_type is void, then so must be A. Complexity: Whatever the underlying operator== has. »

`bool operator==(const success_type<A> &) const`

Returns true if this result is successful and its value compares equal to the value in the success type sugar. Comparison is done using operator== on value_type and A. If A is void, this call aliases bool has_value() const noexcept . Requires: operator== must be a valid expression between value_type and A, or A is void. If value_type is void, then so must be A. Complexity: Whatever the underlying operator== has. »

`bool operator==(const success_type<A> &) const`

Returns true if this result is successful and its value compares equal to the value in the success type sugar. Comparison is done using operator== on value_type and A. If A is void, this call aliases bool has_value() const noexcept . Requires: operator== must be a valid expression between value_type and A, or A is void. If value_type is void, then so must be A. Complexity: Whatever the underlying operator== has. »