[#mp_units-get_common_unit-08f]
= xref:mp_units.adoc[mp&lowbar;units]::get&lowbar;common&lowbar;unit
:relfileprefix: ../
:mrdocs:

== Synopses

Declared in `&lt;mp&hyphen;units&sol;framework&sol;reference&period;h&gt;`


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-0e.adoc[get&lowbar;common&lowbar;unit](auto u);
----

[.small]#xref:mp_units/get_common_unit-0e.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/Unit.adoc[Unit]&period;&period;&period; Us,
    &sol;&ast; implementation-defined &ast;&sol; NewUnit&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-08c.adoc[get&lowbar;common&lowbar;unit](
    NewUnit nu,
    xref:mp_units/common_unit.adoc[common&lowbar;unit&lt;Us&period;&period;&period;&gt;] cu);
----

[.small]#xref:mp_units/get_common_unit-08c.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/Unit.adoc[Unit] U1,
    &sol;&ast; implementation-defined &ast;&sol; U2&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-0d3.adoc[get&lowbar;common&lowbar;unit](
    U1 u1,
    U2 u2);
----

[.small]#xref:mp_units/get_common_unit-0d3.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/Unit.adoc[Unit]&period;&period;&period; Us,
    &sol;&ast; implementation-defined &ast;&sol; NewUnit&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-08d.adoc[get&lowbar;common&lowbar;unit](
    xref:mp_units/common_unit.adoc[common&lowbar;unit&lt;Us&period;&period;&period;&gt;],
    NewUnit);
----

[.small]#xref:mp_units/get_common_unit-08d.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/Unit.adoc[Unit] Front,
    xref:mp_units/Unit.adoc[Unit]&period;&period;&period; Rest,
    xref:mp_units/Unit.adoc[Unit]&period;&period;&period; Us&gt;
requires (detail&colon;&colon;UnitConvertibleTo&lt;common&lowbar;unit&lt;Front, Rest&period;&period;&period;&gt;, common&lowbar;unit&lt;Us&period;&period;&period;&gt;&lcub;&rcub;&gt;)
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-0d7.adoc[get&lowbar;common&lowbar;unit](
    xref:mp_units/common_unit.adoc[common&lowbar;unit&lt;Front, Rest&period;&period;&period;&gt;],
    xref:mp_units/common_unit.adoc[common&lowbar;unit&lt;Us&period;&period;&period;&gt;]);
----

[.small]#xref:mp_units/get_common_unit-0d7.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
consteval
xref:mp_units/Unit.adoc[Unit] auto
xref:mp_units/get_common_unit-02.adoc[get&lowbar;common&lowbar;unit](
    auto u1,
    auto u2,
    auto u3,
    auto&period;&period;&period; rest)
requires requires &lcub; mp&lowbar;units&colon;&colon;get&lowbar;common&lowbar;unit(mp&lowbar;units&colon;&colon;get&lowbar;common&lowbar;unit(u1, u2), u3, rest&period;&period;&period;)&semi; &rcub;;
----

[.small]#xref:mp_units/get_common_unit-02.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
