[#BloombergLP-bslalg-SynthThreeWayUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::SynthThreeWayUtil :relfileprefix: ../../ :mrdocs: "Exposition‐only" part of `bslstl_compare.h` == Synopsis Declared in `<bslalg_synththreewayutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct SynthThreeWayUtil; ---- == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/SynthThreeWayUtil/_01record.adoc[`Unnamed struct`] | 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]. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[`Result`] | A type returned by `SynthThreeWayUtil::compare<t_TYPE1, t_TYPE2>`. Note that this is an implementation of the exposition‐only type alias `synth‐three‐way‐result` defined by the ISO C++20 Standard [expos.only.entity]. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/SynthThreeWayUtil/compare.adoc[`compare`] | 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]. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#