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

== Types

[cols="1"]
|===
| Name
| xref:mp_units/utility/detail/constrained_binary_ops.adoc[`constrained&lowbar;binary&lowbar;ops`] 
| xref:mp_units/utility/detail/safe_int_binary_ops.adoc[`safe&lowbar;int&lowbar;binary&lowbar;ops`] 
| xref:mp_units/utility/detail/underlying_int_type_helper-01.adoc[`underlying&lowbar;int&lowbar;type&lowbar;helper`] 
|===


== Type Aliases

[cols="1"]
|===
| Name
| xref:mp_units/utility/detail/integral_op_result_t.adoc[`integral&lowbar;op&lowbar;result&lowbar;t`] 
| xref:mp_units/utility/detail/underlying_int_type_t.adoc[`underlying&lowbar;int&lowbar;type&lowbar;t`] 
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:mp_units/utility/detail/add_overflows.adoc[`add&lowbar;overflows`] 
| 
| xref:mp_units/utility/detail/checked_int_cast.adoc[`checked&lowbar;int&lowbar;cast`] 
| 
| xref:mp_units/utility/detail/div_overflows.adoc[`div&lowbar;overflows`] 
| 
| xref:mp_units/utility/detail/int_in_range.adoc[`int&lowbar;in&lowbar;range`] 
| 
| xref:mp_units/utility/detail/mul_overflows.adoc[`mul&lowbar;overflows`] 
| 
| xref:mp_units/utility/detail/neg_overflows.adoc[`neg&lowbar;overflows`] 
| 
| xref:mp_units/utility/detail/operator_mod-0b.adoc[`operator%`] 
| Modulus operators
| xref:mp_units/utility/detail/operator_star-06.adoc[`operator&ast;`] 
| Multiplication operators
| xref:mp_units/utility/detail/operator_plus-03.adoc[`operator&plus;`] 
| Addition operators
| xref:mp_units/utility/detail/operator_minus-0a.adoc[`operator&hyphen;`] 
| Subtraction operators
| xref:mp_units/utility/detail/operator_slash-01.adoc[`operator&sol;`] 
| Division operators
| xref:mp_units/utility/detail/sub_overflows.adoc[`sub&lowbar;overflows`] 
| 
| xref:mp_units/utility/detail/operator_eq-02.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:mp_units/utility/detail/operator_3way-06.adoc[`operator&lt;&equals;&gt;`] 
| Three&hyphen;way comparison operators
|===


== Variables

[cols="1"]
|===
| Name
| xref:mp_units/utility/detail/is_safe_int_v.adoc[`is&lowbar;safe&lowbar;int&lowbar;v`] 
| xref:mp_units/utility/detail/is_value_preserving_int_v.adoc[`is&lowbar;value&lowbar;preserving&lowbar;int&lowbar;v`] 
| xref:mp_units/utility/detail/is_value_preserving_v.adoc[`is&lowbar;value&lowbar;preserving&lowbar;v`] 
| xref:mp_units/utility/detail/same_sign_v.adoc[`same&lowbar;sign&lowbar;v`] 
|===


== Using Namespace Directives

[cols="1"]
|===
| Name
| &sol;&ast; implementation-defined &ast;&sol;
|===



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