[#mp_units-named_unit-05]
= xref:mp_units.adoc[mp&lowbar;units]::xref:mp_units/named_unit-0ec.adoc[named&lowbar;unit]&lt;Symbol, U, QS&gt;
:relfileprefix: ../
:mrdocs:

Specialization for a unit with special name valid only for a specific quantity

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/symbol_text-032.adoc[symbol&lowbar;text] Symbol,
    xref:mp_units/Unit.adoc[Unit] auto QS,
    &sol;&ast; implementation-defined &ast;&sol; auto PO&gt;
requires (!Symbol&period;empty()) &amp;&amp; (QS&period;dimension &equals;&equals; detail&colon;&colon;get&lowbar;associated&lowbar;quantity(U)&period;dimension) &amp;&amp;
          detail&colon;&colon;is&lowbar;positive&lowbar;canonical&lowbar;unit&lowbar;mag&lt;U&gt;
struct xref:mp_units/named_unit-0ec.adoc[named&lowbar;unit]&lt;Symbol, U, QS&gt;
    : &sol;&ast; implementation-defined &ast;&sol;
----

== Description

The same as the above but additionally limits the usage of this unit to provided quantities&period;

== Base Classes

[cols="1,4"]
|===
|Name|Description

| `&sol;&ast; implementation-defined &ast;&sol;`
| 
|===

== Types

[cols=1]
|===
| Name
| xref:mp_units/named_unit-05/_base_type_.adoc[`&lowbar;base&lowbar;type&lowbar;`] 
|===

== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:mp_units/named_unit-05/_point_origin_.adoc[`&lowbar;point&lowbar;origin&lowbar;`] 
| 
| xref:mp_units/named_unit-05/_quantity_spec_.adoc[`&lowbar;quantity&lowbar;spec&lowbar;`] 
| 
| xref:mp_units/named_unit-05/_symbol_.adoc[`&lowbar;symbol&lowbar;`] 
| Unique base unit identifier
|===

== Template Parameters

[cols="1,4"]
|===
|Name|Description

| *Symbol*
| a short text representation of the unit
| *Unit*
| a unit for which we provide a special name
| *QuantitySpec*
| a specification of a quantity to be measured with this unit
|===


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