[#mp_units-utility] = xref:mp_units.adoc[mp_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. | xref:mp_units/utility/safe_int-07.adoc[`safe_int`] | Wraps an integral type with overflow detection. | xref:mp_units/utility/safe_int_terminate_policy.adoc[`safe_int_terminate_policy`] | Error policy that terminates the program on overflow (always available, freestanding‐safe). | xref:mp_units/utility/safe_int_throw_policy.adoc[`safe_int_throw_policy`] | Error policy that throws std::overflow_error on overflow (hosted only). | xref:mp_units/utility/terminate_policy.adoc[`terminate_policy`] | Error policy that terminates the program on constraint violation (freestanding‐safe). | xref:mp_units/utility/throw_policy.adoc[`throw_policy`] | Error policy that throws std::domain_error on constraint violation (hosted only). | xref:mp_units/utility/unspecified_t.adoc[`unspecified_t`] | Sentinel default for a specializable variable‐template customization point with no usable default. |=== == Type Aliases [cols="1"] |=== | Name | xref:mp_units/utility/safe_i16.adoc[`safe_i16`] | xref:mp_units/utility/safe_i32.adoc[`safe_i32`] | xref:mp_units/utility/safe_i64.adoc[`safe_i64`] | xref:mp_units/utility/safe_i8.adoc[`safe_i8`] | xref:mp_units/utility/safe_u16.adoc[`safe_u16`] | xref:mp_units/utility/safe_u32.adoc[`safe_u32`] | xref:mp_units/utility/safe_u64.adoc[`safe_u64`] | xref:mp_units/utility/safe_u8.adoc[`safe_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*`] | Multiplication operators | xref:mp_units/utility/operator_plus-07.adoc[`operator+`] | Unary plus operators | xref:mp_units/utility/operator_minus-06.adoc[`operator‐`] | Unary minus operators | xref:mp_units/utility/operator_slash-0a.adoc[`operator/`] | Division operators | xref:mp_units/utility/operator_lshift.adoc[`operator<<`] | Stream insertion operator | xref:mp_units/utility/operator_eq-0a.adoc[`operator==`] | Equality operators | xref:mp_units/utility/operator_3way-029.adoc[`operator<=>`] | Three‐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‐field representation type. | xref:mp_units/utility/ComplexScalar.adoc[`ComplexScalar`] | A complex scalar: complex field with `real()`/`imag()`/`modulus()`. | xref:mp_units/utility/ConstraintPolicy.adoc[`ConstraintPolicy`] | | xref:mp_units/utility/OverflowPolicy.adoc[`OverflowPolicy`] | | xref:mp_units/utility/Real.adoc[`Real`] | A real‐field representation type. | xref:mp_units/utility/RealScalar.adoc[`RealScalar`] | A real scalar (tensor order 0): real field, totally ordered, self‐scalable. | xref:mp_units/utility/Scalar.adoc[`Scalar`] | A scalar (real or complex, tensor order 0) ‐ the element type a vector/tensor is built from. | xref:mp_units/utility/Tensor.adoc[`Tensor`] | A second‐order tensor (or a lower‐order type filling its slot). | xref:mp_units/utility/Vector.adoc[`Vector`] | A vector (a scalar, or a magnitude‐bearing tensor‐order‐1 type). | xref:mp_units/utility/specified.adoc[`specified`] | Satisfied when a customization point has been given a value (i.e. is not `unspecified`). |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#