[#BloombergLP-bslalg-SynthThreeWayUtil-_01record] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/SynthThreeWayUtil.adoc[SynthThreeWayUtil]::Unnamed struct :relfileprefix: ../../../ :mrdocs: Return the result of `t1 <=> t2` expression if this expression is valid. Otherwise, if `t1 < t2` and `t2 < t1` expressions are well‐formed and return boolean‐testable results, use the `<` operator to emulate `<=>`. Otherwise this function is not defined and does not participate in overload resolution. Note that this is an implementation of the exposition‐only callable object `synth‐three‐way` defined by the ISO C++20 Standard [expos.only.entity]. == Synopsis Declared in `<bslalg_synththreewayutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct Unnamed struct; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/SynthThreeWayUtil/_01record/operator_call.adoc[`operator()`] | Return the result of comparing the specified `t1` and `t2` using `<=>` if available, otherwise using `<`. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/SynthThreeWayUtil/_01record/isNoexcept.adoc[`isNoexcept`] | Return `true` if comparing `t_TYPE1` and `t_TYPE2` with `synth‐three‐way` is `noexcept`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#