[#mp_units-reference-0b2] = xref:mp_units.adoc[mp_units]::reference :relfileprefix: ../ :mrdocs: Quantity reference type == Synopsis Declared in `<mp‐units/framework/reference.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< xref:mp_units/QuantitySpec.adoc[QuantitySpec] Q, xref:mp_units/Unit.adoc[Unit] U> struct reference; ---- == Description Quantity reference describes all the properties of a quantity besides its representation type. In most cases this class template is not explicitly instantiated by the user. It is implicitly instantiated by the library's framework while binding a quantity specification with a compatible unit. [,cpp] ---- Reference auto kmph = isq::speed[km / h]; QuantityOf auto speed = 90 * kmph; ---- The following syntaxes are not allowed: `2 / kmph`, `kmph * 3`, `kmph / 4`, `70 * isq::length[km]/ isq:time[h]`. == Friends [cols="1,4"] |=== | Name| Description | `xref:mp_units/cbrt-0e.adoc[mp_units::cbrt]` | Computes the cubic root of a reference | `xref:mp_units/sqrt-0f.adoc[mp_units::sqrt]` | Computes the square root of a reference | `xref:mp_units/pow-04.adoc[mp_units::pow]` | Computes the value of a reference raised to the `Num/Den` power | `xref:mp_units/inverse-0b.adoc[mp_units::inverse]` | Computes the inverse of a reference | `xref:mp_units/operator_slash-0d6.adoc[mp_units::operator/]` | Divides a unit by a reference | `xref:mp_units/operator_slash-0e.adoc[mp_units::operator/]` | Divides a reference by a unit | `xref:mp_units/operator_slash-0d3.adoc[mp_units::operator/]` | Divides a reference by another reference | `xref:mp_units/operator_star-02b.adoc[mp_units::operator*]` | Multiplies a unit by a reference | `xref:mp_units/operator_star-0f.adoc[mp_units::operator*]` | Multiplies a reference by a unit | `xref:mp_units/operator_star-05.adoc[mp_units::operator*]` | Multiplies two references | `xref:mp_units/operator_eq-02.adoc[mp_units::operator==]` | Checks whether a reference is equal to a unit | `xref:mp_units/operator_eq-07.adoc[mp_units::operator==]` | Checks whether two references are equal | `xref:mp_units/get_unit.adoc[mp_units::get_unit]` | Returns the unit of a reference | `xref:mp_units/get_quantity_spec-00.adoc[mp_units::get_quantity_spec]` | Returns the quantity specification of a reference whose `Q` is marked `final` | `xref:mp_units/get_quantity_spec-0f.adoc[mp_units::get_quantity_spec]` | Returns the quantity specification of a reference |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#