mp_units::utility

Public authoring vocabulary shared by the library's own customization points and by higher-level tools.

Types

NameDescription
constrained A transparent wrapper that carries an error policy for domain constraint enforcement.
fill_align_width_format_specs The fill/align/width part of a std-format-spec, as parsed by parse_fill_align_width.
fill_t The fill character(s) of a std-format-spec, storing at most one Unicode code point.
fmt_arg_ref A reference to a format argument, by index or (when using fmtlib) by name.
safe_int Wraps an integral type with overflow detection.
safe_int_terminate_policy Error policy that terminates the program on overflow (always available, freestanding-safe).
safe_int_throw_policy Error policy that throws std::overflow_error on overflow (hosted only).
terminate_policy Error policy that terminates the program on constraint violation (freestanding-safe).
throw_policy Error policy that throws std::domain_error on constraint violation (hosted only).
unspecified_t Sentinel type for a specializable variable-template customization point with no usable default.
width_checker A Handler for handle_dynamic_spec that validates and extracts a width argument.

Type Aliases

NameDescription
safe_i16 safe_int wrapping std::int16_t.
safe_i32 safe_int wrapping std::int32_t.
safe_i64 safe_int wrapping std::int64_t.
safe_i8 safe_int wrapping std::int8_t.
safe_u16 safe_int wrapping std::uint16_t.
safe_u32 safe_int wrapping std::uint32_t.
safe_u64 safe_int wrapping std::uint64_t.
safe_u8 safe_int wrapping std::uint8_t.

Enums

NameDescription
fmt_align The alignment option of a std-format-spec's fill/align part.
fmt_arg_id_kind Which alternative of fmt_arg_ref::value is active.

Functions

NameDescription
at_most_one_of Finds the single modifier from modifiers present in [begin, end).]
handle_dynamic_spec Resolves a dynamic ({}-style) spec against the format arguments.
operator% Modulus operators
operator* Multiplication operators
operator+ Unary plus operators
operator- Unary minus operators
operator/ Division operators
parse_align Parses the fill and alignment part of a std-format-spec into specs.
parse_dynamic_spec Parses a spec value that may be a literal integer or a {}-style dynamic argument reference.
parse_fill_align_width Parses the fill/align/width part of a std-format-spec into specs.
parse_nonnegative_int Parses the range [begin, end) as an unsigned integer.]
write_padded Writes a string to an output iterator with fill/align/width padding.
operator<< Streams a safe_int's wrapped value to an output stream
operator== Equality operators
operator<=> Three-way comparison operators

Variables

NameDescription
unspecified The default value of a customization point that has not yet been specialized.

Concepts

NameDescription
Complex A complex-field representation type.
ComplexScalar A complex scalar: complex field with real()/imag()/modulus().
ConstraintPolicy Concept satisfied by error policy types usable with constrained.
OverflowPolicy Concept satisfied by overflow error policies usable with safe_int.
Real A real-field representation type.
RealScalar A real scalar (tensor order 0): real field, totally ordered, self-scalable.
Scalar A scalar (real or complex, tensor order 0) - the element type a vector/tensor is built from.
Tensor A second-order tensor (or a lower-order type filling its slot).
Vector A vector (a scalar, or a magnitude-bearing tensor-order-1 type).
specified Satisfied when a customization point has been given a value (i.e. is not unspecified).