[#index] = Global namespace :mrdocs: == Namespaces [cols="1,4"] |=== | Name| Description | xref:mp_units.adoc[`mp_units`] | The Measurement Library |=== == xref:mp_units.adoc[mp_units] namespace The Measurement Library === Namespaces [cols="1,4"] |=== | Name| Description | xref:mp_units/utility.adoc[`utility`] | Public authoring vocabulary shared by the library's own customization points and by higher‐level tools. |=== === Types [cols="1,4"] |=== | Name| Description | xref:mp_units/absolute_point_origin.adoc[`absolute_point_origin`] | A point origin located at the zero point of a quantity specification | xref:mp_units/base_dimension.adoc[`base_dimension`] | A dimension of a base quantity | xref:mp_units/basic_fixed_string-08.adoc[`basic_fixed_string`] | A compile‐time fixed string | xref:mp_units/check_in_range.adoc[`check_in_range`] | Policy that checks the value is within [min, max]and reports violations. | xref:mp_units/check_non_negative.adoc[`check_non_negative`] | Policy that checks the value is ≥ 0 and reports violations. | xref:mp_units/clamp_non_negative.adoc[`clamp_non_negative`] | Policy that clamps the value to [0, ∞).] | xref:mp_units/clamp_to_range.adoc[`clamp_to_range`] | Policy that clamps the value to [min, max]. | xref:mp_units/common_unit.adoc[`common_unit`] | Measurement unit for an accumulation of two quantities of different units | xref:mp_units/constraint_violation_handler.adoc[`constraint_violation_handler`] | Customization point for handling domain constraint violations. | xref:mp_units/derived_dimension.adoc[`derived_dimension`] | A dimension of a derived quantity | xref:mp_units/derived_quantity_spec.adoc[`derived_quantity_spec`] | A specification of a derived quantity | xref:mp_units/derived_unit.adoc[`derived_unit`] | Measurement unit for a derived quantity | xref:mp_units/dimension_one-063.adoc[`dimension_one`] | Dimension one | xref:mp_units/dimension_symbol_formatting.adoc[`dimension_symbol_formatting`] | Formatting options for `dimension_symbol` and `dimension_symbol_to`. | xref:mp_units/dimensionless-0f.adoc[`dimensionless`] | Quantity of dimension one | xref:mp_units/is_kind-06.adoc[`is_kind`] | Tag property marking a `quantity_spec` as the start of a new hierarchy tree of a kind | xref:mp_units/kind_of_-00.adoc[`kind_of_`] | The type of a quantity kind for the quantity specification `Q` | xref:mp_units/mag_constant.adoc[`mag_constant`] | A named Magnitude constant identified by its symbol and, where supported, its value | xref:mp_units/named_constant-03.adoc[`named_constant`] | A constant defined in terms of a unit | xref:mp_units/named_unit-0ec.adoc[`named_unit`] | A named unit | xref:mp_units/natural_point_origin_.adoc[`natural_point_origin_`] | Implementation type of `natural_point_origin` | xref:mp_units/non_negative-05.adoc[`non_negative`] | Tag property marking a `quantity_spec` as never holding a negative value | xref:mp_units/one-0f.adoc[`one`] | Unit one | xref:mp_units/parts_per_million-0f.adoc[`parts_per_million`] | The "ppm" (parts per million) unit, equal to 1/1,000,000 | xref:mp_units/per.adoc[`per`] | Type list type storing the list of components with negative exponents | xref:mp_units/per_mille-01.adoc[`per_mille`] | The "‰" (per mille) unit, equal to 1/1000 | xref:mp_units/percent-02.adoc[`percent`] | The "%" (percent) unit, equal to 1/100 | xref:mp_units/pi-0c.adoc[`pi`] | The mathematical constant π, exposed as a dimensionless named constant | xref:mp_units/pi_c-0b.adoc[`pi_c`] | A convenient Magnitude constant for pi, which we can manipulate like a regular number. | xref:mp_units/possibly_negative-09.adoc[`possibly_negative`] | Tag property canceling an inherited `non_negative` for a `quantity_spec` | xref:mp_units/power.adoc[`power`] | Type container for exponents with ratio different than `1` | xref:mp_units/prefixed_unit.adoc[`prefixed_unit`] | A prefixed unit | xref:mp_units/quantity-01.adoc[`quantity`] | A quantity | xref:mp_units/quantity_character.adoc[`quantity_character`] | Quantity character | xref:mp_units/quantity_like_traits.adoc[`quantity_like_traits`] | Provides support for external quantity‐like types | xref:mp_units/quantity_point-08.adoc[`quantity_point`] | A quantity point | xref:mp_units/quantity_point_like_traits.adoc[`quantity_point_like_traits`] | Provides support for external quantity point‐like types | xref:mp_units/quantity_spec-09.adoc[`quantity_spec`] | A specification of a quantity used to define its kind, dimension, and character | xref:mp_units/reference-0b2.adoc[`reference`] | Quantity reference type | xref:mp_units/reflect_in_range.adoc[`reflect_in_range`] | Policy that reflects (folds) the value at both boundaries. | xref:mp_units/relative_point_origin.adoc[`relative_point_origin`] | A point origin defined relative to another quantity point | xref:mp_units/relative_standard_uncertainty.adoc[`relative_standard_uncertainty`] | Relative standard uncertainty of a measured constant | xref:mp_units/representation_canonical_type-0b.adoc[`representation_canonical_type`] | Maps a representation value type to the concrete type a quantity should store. | xref:mp_units/representation_underlying_type-03a.adoc[`representation_underlying_type`] | Describes the underlying arithmetic/element type of a representation type. | xref:mp_units/representation_values.adoc[`representation_values`] | A type trait that defines zero, one, min, and max for a representation type | xref:mp_units/rounded_down_t.adoc[`rounded_down_t`] | Tag type for the `rounded_down` rounding policy | xref:mp_units/rounded_t.adoc[`rounded_t`] | Tag type for the `rounded` rounding policy | xref:mp_units/rounded_up_t.adoc[`rounded_up_t`] | Tag type for the `rounded_up` rounding policy | xref:mp_units/scaled_unit.adoc[`scaled_unit`] | Unit being a scaled version of another unit | xref:mp_units/standard_uncertainty.adoc[`standard_uncertainty`] | Absolute standard uncertainty of a measured constant | xref:mp_units/symbol_text-032.adoc[`symbol_text`] | A symbol text representation | xref:mp_units/truncated_t.adoc[`truncated_t`] | Tag type for the `truncated` rounding policy | xref:mp_units/unit_symbol_formatting.adoc[`unit_symbol_formatting`] | Specifies the options used to format a unit symbol | xref:mp_units/vector_axes.adoc[`vector_axes`] | Ordered list of the 1D‐vector component axes a vector quantity decomposes into | xref:mp_units/vector_components.adoc[`vector_components`] | Opts a vector quantity into decomposition into named 1D‐vector components | xref:mp_units/wrap_to_range.adoc[`wrap_to_range`] | Policy that wraps the value into the half‐open range [min, max).] |=== === Type Aliases [cols="1,4"] |=== | Name| Description | xref:mp_units/conditional.adoc[`conditional`] | Alias for `T` if `B` is `true`, otherwise `F` (equivalent to `std::conditional_t<B, T, F>`) | xref:mp_units/expr_type.adoc[`expr_type`] | The underlying symbolic expression factor type, unwrapping `power` if present | xref:mp_units/fixed_string.adoc[`fixed_string`] | `basic_fixed_string` specialized for `char` | xref:mp_units/fixed_u16string.adoc[`fixed_u16string`] | `basic_fixed_string` specialized for `char16_t` | xref:mp_units/fixed_u32string.adoc[`fixed_u32string`] | `basic_fixed_string` specialized for `char32_t` | xref:mp_units/fixed_u8string.adoc[`fixed_u8string`] | `basic_fixed_string` specialized for `char8_t` | xref:mp_units/fixed_wstring.adoc[`fixed_wstring`] | `basic_fixed_string` specialized for `wchar_t` | xref:mp_units/quantity_values.adoc[`quantity_values`] [.small]#[deprecated]# | Deprecated alias for `representation_values`. | xref:mp_units/rep_for.adoc[`rep_for`] | Public alias that yields the representation type of a quantity‐like type. | xref:mp_units/representation_canonical_type_t.adoc[`representation_canonical_type_t`] | Convenience alias for `representation_canonical_type<T>::type`. | xref:mp_units/representation_underlying_type_t.adoc[`representation_underlying_type_t`] | Convenience alias for `representation_underlying_type<T>::type`. | xref:mp_units/text_encoding.adoc[`text_encoding`] [.small]#[deprecated]# | Deprecated alias for `character_set` | xref:mp_units/zeroth_point_origin_.adoc[`zeroth_point_origin_`] [.small]#[deprecated]# | Deprecated alias for `natural_point_origin_` |=== === Enums [cols="1,4"] |=== | Name| Description | xref:mp_units/character_set.adoc[`character_set`] | Character set used to render a `symbol_text` | xref:mp_units/quantity_character_legacy.adoc[`quantity_character_legacy`] [.small]#[deprecated]# | The pre‐2.6.0 flat quantity character enumeration | xref:mp_units/quantity_field.adoc[`quantity_field`] | The numeric field axis of a quantity's character | xref:mp_units/quantity_tensor_order.adoc[`quantity_tensor_order`] | The tensor order axis of a quantity's character | xref:mp_units/unit_symbol_separator.adoc[`unit_symbol_separator`] | Specifies the separator placed between the symbols of a unit symbol's factors | xref:mp_units/unit_symbol_solidus.adoc[`unit_symbol_solidus`] | Specifies how the solidus (`/`) is used when formatting a unit symbol's denominator |=== === Functions [cols="1,4"] |=== | Name| Description | xref:mp_units/abs.adoc[`abs`] | Computes the absolute value of a quantity | xref:mp_units/absolute.adoc[`absolute`] | Constructs a `quantity_point` of reference `R` from a raw representation value | xref:mp_units/castable.adoc[`castable`] | Checks whether a quantity of quantity spec `From` can be cast to quantity spec `To` | xref:mp_units/cbrt-07.adoc[`cbrt`] | `cbrt` overloads | xref:mp_units/ceil-09.adoc[`ceil`] | `ceil` overloads | xref:mp_units/contains-01b.adoc[`contains`] | `contains` overloads | xref:mp_units/default_point_origin.adoc[`default_point_origin`] | Returns the default point origin for a reference | xref:mp_units/delta.adoc[`delta`] | Constructs a `quantity` of reference `R` from a raw representation value | xref:mp_units/dimension_symbol.adoc[`dimension_symbol`] | Returns the textual symbol of a dimension as a `std::basic_string_view`. | xref:mp_units/dimension_symbol_to.adoc[`dimension_symbol_to`] | Writes the textual symbol of a dimension to an output iterator. | xref:mp_units/epsilon.adoc[`epsilon`] [.small]#[deprecated]# | Returns the epsilon of the quantity | xref:mp_units/exp.adoc[`exp`] | Computes Euler's raised to the given power | xref:mp_units/explicitly_convertible.adoc[`explicitly_convertible`] | Checks whether a quantity of quantity spec `From` can be explicitly converted to quantity spec `To` | xref:mp_units/floor-04.adoc[`floor`] | `floor` overloads | xref:mp_units/fma-0c.adoc[`fma`] | `fma` overloads | xref:mp_units/fmod.adoc[`fmod`] | Computes the floating‐point remainder of the division operation x / y. | xref:mp_units/get-0a.adoc[`get`] | `get` overloads | xref:mp_units/get_canonical_unit.adoc[`get_canonical_unit`] | Computes the canonical form of a unit | xref:mp_units/get_common_quantity_spec-08.adoc[`get_common_quantity_spec`] | `get_common_quantity_spec` overloads | xref:mp_units/get_common_reference.adoc[`get_common_reference`] | Returns the common unit of two or more units usable as a reference | xref:mp_units/get_common_unit-08f.adoc[`get_common_unit`] | `get_common_unit` overloads | xref:mp_units/get_kind.adoc[`get_kind`] | Returns the kind of a quantity specification | xref:mp_units/get_quantity_spec-03.adoc[`get_quantity_spec`] | `get_quantity_spec` overloads | xref:mp_units/get_relative_standard_uncertainty.adoc[`get_relative_standard_uncertainty`] | Returns the relative standard uncertainty of a measured constant | xref:mp_units/get_standard_uncertainty.adoc[`get_standard_uncertainty`] | Returns the standard uncertainty of a measured constant | xref:mp_units/get_unit.adoc[`get_unit`] | Returns the unit of a reference | xref:mp_units/hypot-00.adoc[`hypot`] | `hypot` overloads | xref:mp_units/implicitly_convertible.adoc[`implicitly_convertible`] | Checks whether a quantity of quantity spec `From` can be implicitly converted to quantity spec `To` | xref:mp_units/interconvertible.adoc[`interconvertible`] | Checks whether two quantity specifications are convertible to each other in both directions | xref:mp_units/inverse-0e.adoc[`inverse`] | `inverse` overloads | xref:mp_units/is_eq_zero.adoc[`is_eq_zero`] [.small]#[deprecated]# | Checks whether `v` compares equal to `T::zero()` | xref:mp_units/is_gt_zero.adoc[`is_gt_zero`] [.small]#[deprecated]# | Checks whether `v` compares greater than `T::zero()` | xref:mp_units/is_gteq_zero.adoc[`is_gteq_zero`] [.small]#[deprecated]# | Checks whether `v` compares greater than or equal to `T::zero()` | xref:mp_units/is_integral_scaling.adoc[`is_integral_scaling`] | Returns `true` if the scaling factor from `from` to `to` is an exact positive integer. | xref:mp_units/is_lt_zero.adoc[`is_lt_zero`] [.small]#[deprecated]# | Checks whether `v` compares less than `T::zero()` | xref:mp_units/is_lteq_zero.adoc[`is_lteq_zero`] [.small]#[deprecated]# | Checks whether `v` compares less than or equal to `T::zero()` | xref:mp_units/is_neq_zero.adoc[`is_neq_zero`] [.small]#[deprecated]# | Checks whether `v` compares not equal to `T::zero()` | xref:mp_units/is_non_negative.adoc[`is_non_negative`] | Checks whether a quantity specification is tagged as non‐negative | xref:mp_units/isfinite-01.adoc[`isfinite`] | `isfinite` overloads | xref:mp_units/isinf-0c.adoc[`isinf`] | `isinf` overloads | xref:mp_units/isnan-08.adoc[`isnan`] | `isnan` overloads | xref:mp_units/lerp.adoc[`lerp`] | Linear interpolation or extrapolation | xref:mp_units/midpoint.adoc[`midpoint`] | Computes the midpoint of two points | xref:mp_units/operator_star-00.adoc[`operator*`] | Multiplication operators | xref:mp_units/operator_slash-0a.adoc[`operator/`] | Division operators | xref:mp_units/point.adoc[`point`] | Constructs a `quantity_point` of reference `R` from a raw representation value | xref:mp_units/pow-00.adoc[`pow`] | `pow` overloads | xref:mp_units/quantity_cast-0f.adoc[`quantity_cast`] | `quantity_cast` overloads | xref:mp_units/remainder.adoc[`remainder`] | Computes the IEEE remainder of the floating point division operation x / y. | xref:mp_units/round-01.adoc[`round`] | `round` overloads | xref:mp_units/scale-05.adoc[`scale`] | `scale` overloads | xref:mp_units/sqrt-0c.adoc[`sqrt`] | `sqrt` overloads | xref:mp_units/unit_symbol.adoc[`unit_symbol`] | Returns the textual symbol of a unit | xref:mp_units/unit_symbol_to.adoc[`unit_symbol_to`] | Writes the textual symbol of a unit to an output iterator | xref:mp_units/value_cast-03d.adoc[`value_cast`] | `value_cast` overloads | xref:mp_units/operator_lshift.adoc[`operator<<`] | Streams the textual symbol of a dimension to a `std::basic_ostream`. | xref:mp_units/operator_eq-0a.adoc[`operator==`] | Equality operators | xref:mp_units/operator_3way.adoc[`operator<=>`] | Compares two quantity characters lexicographically on (order, field) |=== === Variables [cols="1,4"] |=== | Name| Description | xref:mp_units/dimension_one-060.adoc[`dimension_one`] | The unique instance of the dimension one. | xref:mp_units/dimensionless-03.adoc[`dimensionless`] | Quantity of dimension one | xref:mp_units/disable_representation-091.adoc[`disable_representation`] | A specializable opt‐out: when `true`, `T` is not accepted as a quantity representation. | xref:mp_units/disable_representation-09a.adoc[`disable_representation`] | Opts `bool` out of being a valid quantity representation. | xref:mp_units/disable_representation-05.adoc[`disable_representation`] | Opts stateless symbolic‐constant tag types out of being a valid quantity representation. | xref:mp_units/frame_projection.adoc[`frame_projection`] | User‐specializable variable template for runtime coordinate frame transformations. | xref:mp_units/imag.adoc[`imag`] | Customization point object returning the imaginary part of a complex‐like value. | xref:mp_units/implicitly_scalable.adoc[`implicitly_scalable`] | Controls whether conversion from `quantity<FromUnit, FromRep>` to `quantity<ToUnit, ToRep>` is implicit or explicit. | xref:mp_units/is_complex.adoc[`is_complex`] [.small]#[deprecated]# | Deprecated, no longer necessary; kept only for backward compatibility. | xref:mp_units/is_derived_from_specialization_of.adoc[`is_derived_from_specialization_of`] | Whether `T` is derived from some specialization of the class template `Type`, which takes type parameters | xref:mp_units/is_derived_from_specialization_of_v.adoc[`is_derived_from_specialization_of_v`] | Whether `T` is derived from some specialization of the class template `Type`, which takes non‐type (`auto`) parameters | xref:mp_units/is_kind-0b.adoc[`is_kind`] | The unique instance of the `is_kind` tag property. | xref:mp_units/is_scalar.adoc[`is_scalar`] [.small]#[deprecated]# | Deprecated, no longer necessary; kept only for backward compatibility. | xref:mp_units/is_scoped_enum_v.adoc[`is_scoped_enum_v`] | Whether `T` is a scoped enumeration type | xref:mp_units/is_specialization_of-06.adoc[`is_specialization_of`] | Whether `T` is a specialization of the class template `Type`, which takes a pack of type parameters | xref:mp_units/is_specialization_of-0b.adoc[`is_specialization_of`] | Specialization confirming that `Type<Params...>` is a specialization of `Type` | xref:mp_units/is_specialization_of_v-01.adoc[`is_specialization_of_v`] | Whether `T` is a specialization of the class template `Type`, which takes a pack of non‐type (`auto`) parameters | xref:mp_units/is_specialization_of_v-08.adoc[`is_specialization_of_v`] | Specialization confirming that `Type<Params...>` is a specialization of `Type` | xref:mp_units/is_tensor.adoc[`is_tensor`] [.small]#[deprecated]# | Deprecated, no longer necessary; kept only for backward compatibility. | xref:mp_units/is_value_preserving.adoc[`is_value_preserving`] [.small]#[deprecated]# | Specifies if a specific conversion between two types is representable without data loss | xref:mp_units/is_vector.adoc[`is_vector`] [.small]#[deprecated]# | Deprecated, no longer necessary; kept only for backward compatibility. | xref:mp_units/kind_of.adoc[`kind_of`] | The quantity kind of the hierarchy tree rooted at the quantity specification `Q` | xref:mp_units/known_first_factor.adoc[`known_first_factor`] [.small]#[deprecated]# | Deprecated placeholder retained for source compatibility | xref:mp_units/mag-03.adoc[`mag`] | A Magnitude constant equal to the value `V` | xref:mp_units/mag-08.adoc[`mag`] | A Magnitude constant equal to the value `V` | xref:mp_units/mag_pi.adoc[`mag_pi`] [.small]#[deprecated]# | Deprecated alias for the pi Magnitude constant | xref:mp_units/mag_power.adoc[`mag_power`] | Create a Magnitude which is some rational number raised to a rational power. | xref:mp_units/mag_ratio.adoc[`mag_ratio`] | A Magnitude constant equal to the rational number `N` / `D` | xref:mp_units/magnitude.adoc[`magnitude`] | Customization point object computing the magnitude of a representation value | xref:mp_units/modulus.adoc[`modulus`] | Customization point object returning the modulus (absolute value) of a complex‐like value. | xref:mp_units/natural_point_origin.adoc[`natural_point_origin`] | The point origin located at the zero point of a quantity specification | xref:mp_units/non_negative-0d.adoc[`non_negative`] | The unique instance of the `non_negative` tag property. | xref:mp_units/numeric_field-06.adoc[`numeric_field`] | The numeric field of a representation type: real or complex. | xref:mp_units/numeric_field-08.adoc[`numeric_field`] | Detects `numeric_field` for a type whose tensor order is known and whose field is consistent. | xref:mp_units/one-07.adoc[`one`] | The unique instance of the unit one. | xref:mp_units/parts_per_million-0a.adoc[`parts_per_million`] | The unique instance of the parts‐per‐million unit. | xref:mp_units/per_mille-08.adoc[`per_mille`] | The unique instance of the per mille unit. | xref:mp_units/percent-0a.adoc[`percent`] | The unique instance of the percent unit. | xref:mp_units/pi-0f.adoc[`pi`] | The unique instance of the π constant. | xref:mp_units/pi_c-0e.adoc[`pi_c`] | The unique instance of the pi magnitude constant. | xref:mp_units/possibly_negative-01.adoc[`possibly_negative`] | The unique instance of the `possibly_negative` tag property. | xref:mp_units/ppm.adoc[`ppm`] | Alias for `parts_per_million` | xref:mp_units/real.adoc[`real`] | Customization point object returning the real part of a complex‐like value. | xref:mp_units/reference_for.adoc[`reference_for`] | Public helper that yields the reference (unit + quantity spec) associated with a quantity‐like type. | xref:mp_units/rounded.adoc[`rounded`] | Rounding policy that rounds to the nearest representable value, to even in halfway cases | xref:mp_units/rounded_down.adoc[`rounded_down`] | Rounding policy that rounds towards negative infinity | xref:mp_units/rounded_up.adoc[`rounded_up`] | Rounding policy that rounds towards positive infinity | xref:mp_units/space_before_unit_symbol.adoc[`space_before_unit_symbol`] | Puts a space ' ' sign before a unit symbol | xref:mp_units/tensor_order-04.adoc[`tensor_order`] | The intrinsic tensor order of a representation type: 0 for scalar, 1 for vector, 2 for tensor. | xref:mp_units/tensor_order-0b.adoc[`tensor_order`] | Structural detection of `tensor_order` for a type exposing exactly one indexing shape. | xref:mp_units/treat_as_floating_point.adoc[`treat_as_floating_point`] | Specifies if a value of a type should be treated as a floating‐point value | xref:mp_units/truncated.adoc[`truncated`] | Rounding policy that rounds towards zero for an integral destination | xref:mp_units/unit_for.adoc[`unit_for`] | Public helper that yields the unit associated with a quantity‐like type. | xref:mp_units/zeroth_point_origin.adoc[`zeroth_point_origin`] [.small]#[deprecated]# | Deprecated alias for `natural_point_origin` | xref:mp_units/π.adoc[`π`] | Alias for `pi` |=== === Concepts [cols="1,4"] |=== | Name| Description | xref:mp_units/Dimension.adoc[`Dimension`] | A concept matching all dimensions in the library. | xref:mp_units/DimensionOf.adoc[`DimensionOf`] | A concept checking if the argument is of the same dimension. | xref:mp_units/MeasuredConstant.adoc[`MeasuredConstant`] | A concept matching constants that are measured rather than exact by definition | xref:mp_units/PointOrigin.adoc[`PointOrigin`] | A concept matching all quantity point origins in the library | xref:mp_units/PointOriginFor.adoc[`PointOriginFor`] | A concept matching all quantity point origins for a specified quantity type in the library | xref:mp_units/PrefixableUnit.adoc[`PrefixableUnit`] | A concept to be used to define prefixes for a unit | xref:mp_units/Quantity-0c.adoc[`Quantity`] | A concept matching all quantities in the library | xref:mp_units/QuantityLike.adoc[`QuantityLike`] | A concept matching all external quantities like types | xref:mp_units/QuantityOf.adoc[`QuantityOf`] | A concept matching all quantities of the provided quantity spec | xref:mp_units/QuantityPoint.adoc[`QuantityPoint`] | A concept matching all quantity points in the library | xref:mp_units/QuantityPointLike.adoc[`QuantityPointLike`] | A concept matching all external quantity point like types | xref:mp_units/QuantityPointOf.adoc[`QuantityPointOf`] | A concept matching all quantity points of the provided property | xref:mp_units/QuantitySpec.adoc[`QuantitySpec`] | A concept matching all quantity specifications in the library | xref:mp_units/QuantitySpecOf.adoc[`QuantitySpecOf`] | A concept matching all quantity specifications of a provided quantity spec value | xref:mp_units/Reference-0ba.adoc[`Reference`] | A concept matching all references in the library. | xref:mp_units/ReferenceOf.adoc[`ReferenceOf`] | A concept matching all references of the provided quantity spec | xref:mp_units/RepresentationOf.adoc[`RepresentationOf`] | Concept matching a representation type suitable for a quantity specification or character | xref:mp_units/RoundingPolicy.adoc[`RoundingPolicy`] | A concept matching all rounding policies | xref:mp_units/Unit.adoc[`Unit`] | A concept matching all unit types in the library | xref:mp_units/UnitMagnitude.adoc[`UnitMagnitude`] | Concept to detect whether T is a valid UnitMagnitude. | xref:mp_units/UnitOf.adoc[`UnitOf`] | A concept matching all units associated with the provided quantity spec |=== == xref:mp_units/utility.adoc[mp_units::utility] namespace Public authoring vocabulary shared by the library's own customization points and by higher‐level tools. === 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/fill_align_width_format_specs.adoc[`fill_align_width_format_specs`] | The fill/align/width part of a `std‐format‐spec`, as parsed by xref:mp_units/utility/parse_fill_align_width.adoc[`parse_fill_align_width`]. | xref:mp_units/utility/fill_t.adoc[`fill_t`] | The fill character(s) of a `std‐format‐spec`, storing at most one Unicode code point. | xref:mp_units/utility/fmt_arg_ref.adoc[`fmt_arg_ref`] | A reference to a format argument, by index or (when using fmtlib) by name. | 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 type for a specializable variable‐template customization point with no usable default. | xref:mp_units/utility/width_checker.adoc[`width_checker`] | A `Handler` for xref:mp_units/utility/handle_dynamic_spec.adoc[`handle_dynamic_spec`] that validates and extracts a `width` argument. |=== === Type Aliases [cols="1,4"] |=== | Name| Description | xref:mp_units/utility/safe_i16.adoc[`safe_i16`] | `safe_int` wrapping `std::int16_t`. | xref:mp_units/utility/safe_i32.adoc[`safe_i32`] | `safe_int` wrapping `std::int32_t`. | xref:mp_units/utility/safe_i64.adoc[`safe_i64`] | `safe_int` wrapping `std::int64_t`. | xref:mp_units/utility/safe_i8.adoc[`safe_i8`] | `safe_int` wrapping `std::int8_t`. | xref:mp_units/utility/safe_u16.adoc[`safe_u16`] | `safe_int` wrapping `std::uint16_t`. | xref:mp_units/utility/safe_u32.adoc[`safe_u32`] | `safe_int` wrapping `std::uint32_t`. | xref:mp_units/utility/safe_u64.adoc[`safe_u64`] | `safe_int` wrapping `std::uint64_t`. | xref:mp_units/utility/safe_u8.adoc[`safe_u8`] | `safe_int` wrapping `std::uint8_t`. |=== === Enums [cols="1,4"] |=== | Name| Description | xref:mp_units/utility/fmt_align.adoc[`fmt_align`] | The alignment option of a `std‐format‐spec`'s fill/align part. | xref:mp_units/utility/fmt_arg_id_kind.adoc[`fmt_arg_id_kind`] | Which alternative of xref:mp_units/utility/fmt_arg_ref/value.adoc[`fmt_arg_ref::value`] is active. |=== === Functions [cols="1,4"] |=== | Name| Description | xref:mp_units/utility/at_most_one_of.adoc[`at_most_one_of`] | Finds the single modifier from `modifiers` present in [begin, end).] | xref:mp_units/utility/handle_dynamic_spec.adoc[`handle_dynamic_spec`] | Resolves a dynamic (`{}`‐style) spec against the format arguments. | 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/parse_align.adoc[`parse_align`] | Parses the fill and alignment part of a `std‐format‐spec` into `specs.` | xref:mp_units/utility/parse_dynamic_spec.adoc[`parse_dynamic_spec`] | Parses a spec value that may be a literal integer or a `{}`‐style dynamic argument reference. | xref:mp_units/utility/parse_fill_align_width.adoc[`parse_fill_align_width`] | Parses the fill/align/width part of a `std‐format‐spec` into `specs.` | xref:mp_units/utility/parse_nonnegative_int.adoc[`parse_nonnegative_int`] | Parses the range [begin, end) as an unsigned integer.] | xref:mp_units/utility/write_padded.adoc[`write_padded`] | Writes a string to an output iterator with fill/align/width padding. | xref:mp_units/utility/operator_lshift.adoc[`operator<<`] | Streams a safe_int's wrapped value to an output stream | 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,4"] |=== | Name| Description | xref:mp_units/utility/unspecified.adoc[`unspecified`] | The default value of a customization point that has not yet been specialized. |=== === 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`] | Concept satisfied by error policy types usable with xref:mp_units/utility/constrained.adoc[`constrained`]. | xref:mp_units/utility/OverflowPolicy.adoc[`OverflowPolicy`] | Concept satisfied by overflow error policies usable with `safe_int`. | 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]#