Special Units

There are a few defined units that are special in some fashion, and can be used as sentinel values or have special operations associated with them.

Default Unit

The defunit unit is allowed to be converted to any other unit. it is equivalent of per-unit*i_flag The main use case is in the convert functions and makes a good

Error Unit

auto error_unit=unit(detail::unit_data(nullptr));

Invalid Unit

An invalid unit is any unit that is either the error unit or has a NaN in the multiplier. This is the unit returned from a string conversion if the string does not describe a unit or measurement.


The default constructor for unit and precise_unit is empty unit data and 1.0 in the multiplier.

There are also precise versions of these values in the precise namespace