[#mp_units-utility]
= xref:mp_units.adoc[mp&lowbar;units]::utility
:relfileprefix: ../
:mrdocs:

== Namespaces

[cols="1"]
|===
| Name
| xref:mp_units/utility/detail.adoc[`detail`] 
|===


== Types

[cols="1,4"]
|===
| Name| Description
| xref:mp_units/utility/constrained.adoc[`constrained`] 
| A transparent wrapper that carries an error policy for domain constraint enforcement&period;
| xref:mp_units/utility/safe_int-07.adoc[`safe&lowbar;int`] 
| Wraps an integral type with overflow detection&period;
| xref:mp_units/utility/safe_int_terminate_policy.adoc[`safe&lowbar;int&lowbar;terminate&lowbar;policy`] 
| Error policy that terminates the program on overflow (always available, freestanding&hyphen;safe)&period;
| xref:mp_units/utility/safe_int_throw_policy.adoc[`safe&lowbar;int&lowbar;throw&lowbar;policy`] 
| Error policy that throws std&colon;&colon;overflow&lowbar;error on overflow (hosted only)&period;
| xref:mp_units/utility/terminate_policy.adoc[`terminate&lowbar;policy`] 
| Error policy that terminates the program on constraint violation (freestanding&hyphen;safe)&period;
| xref:mp_units/utility/throw_policy.adoc[`throw&lowbar;policy`] 
| Error policy that throws std&colon;&colon;domain&lowbar;error on constraint violation (hosted only)&period;
| xref:mp_units/utility/unspecified_t.adoc[`unspecified&lowbar;t`] 
| Sentinel default for a specializable variable&hyphen;template customization point with no usable default&period;
|===


== Type Aliases

[cols="1"]
|===
| Name
| xref:mp_units/utility/safe_i16.adoc[`safe&lowbar;i16`] 
| xref:mp_units/utility/safe_i32.adoc[`safe&lowbar;i32`] 
| xref:mp_units/utility/safe_i64.adoc[`safe&lowbar;i64`] 
| xref:mp_units/utility/safe_i8.adoc[`safe&lowbar;i8`] 
| xref:mp_units/utility/safe_u16.adoc[`safe&lowbar;u16`] 
| xref:mp_units/utility/safe_u32.adoc[`safe&lowbar;u32`] 
| xref:mp_units/utility/safe_u64.adoc[`safe&lowbar;u64`] 
| xref:mp_units/utility/safe_u8.adoc[`safe&lowbar;u8`] 
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:mp_units/utility/operator_mod-0f.adoc[`operator%`] 
| Modulus operators
| xref:mp_units/utility/operator_star-04b.adoc[`operator&ast;`] 
| Multiplication operators
| xref:mp_units/utility/operator_plus-07.adoc[`operator&plus;`] 
| Unary plus operators
| xref:mp_units/utility/operator_minus-06.adoc[`operator&hyphen;`] 
| Unary minus operators
| xref:mp_units/utility/operator_slash-0a.adoc[`operator&sol;`] 
| Division operators
| xref:mp_units/utility/operator_lshift.adoc[`operator&lt;&lt;`] 
| Stream insertion operator
| xref:mp_units/utility/operator_eq-0a.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:mp_units/utility/operator_3way-029.adoc[`operator&lt;&equals;&gt;`] 
| Three&hyphen;way comparison operators
|===


== Variables

[cols="1"]
|===
| Name
| xref:mp_units/utility/unspecified.adoc[`unspecified`] 
|===


== Concepts

[cols="1,4"]
|===
| Name| Description
| xref:mp_units/utility/Complex.adoc[`Complex`] 
| A complex&hyphen;field representation type&period;
| xref:mp_units/utility/ComplexScalar.adoc[`ComplexScalar`] 
| A complex scalar&colon; complex field with `real()`&sol;`imag()`&sol;`modulus()`&period;
| xref:mp_units/utility/ConstraintPolicy.adoc[`ConstraintPolicy`] 
| 
| xref:mp_units/utility/OverflowPolicy.adoc[`OverflowPolicy`] 
| 
| xref:mp_units/utility/Real.adoc[`Real`] 
| A real&hyphen;field representation type&period;
| xref:mp_units/utility/RealScalar.adoc[`RealScalar`] 
| A real scalar (tensor order 0)&colon; real field, totally ordered, self&hyphen;scalable&period;
| xref:mp_units/utility/Scalar.adoc[`Scalar`] 
| A scalar (real or complex, tensor order 0) &hyphen; the element type a vector&sol;tensor is built from&period;
| xref:mp_units/utility/Tensor.adoc[`Tensor`] 
| A second&hyphen;order tensor (or a lower&hyphen;order type filling its slot)&period;
| xref:mp_units/utility/Vector.adoc[`Vector`] 
| A vector (a scalar, or a magnitude&hyphen;bearing tensor&hyphen;order&hyphen;1 type)&period;
| xref:mp_units/utility/specified.adoc[`specified`] 
| Satisfied when a customization point has been given a value (i&period;e&period; is not `unspecified`)&period;
|===



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