#[repr(C)]pub struct unit_t {
pub _base: linear_scale<[u8; 0]>,
}Expand description
@ingroup UnitContainers @brief Container for values which represent quantities of a given unit. @details Stores a value which represents a quantity in the given units. Unit containers (except scalar values) are not convertible to built-in c++ types, in order to provide type safety in dimensional analysis. Unit containers are implicitly convertible to other compatible unit container types. Unit containers support various types of arithmetic operations, depending on their scale type.
The value of a `unit_t` can only be changed on construction, or by assignment
from another `unit_t` type. If necessary, the underlying value can be accessed
using `operator()`: @code
meter_t m(5.0);
double val = m(); // val == 5.0 @endcode.@tparam Units unit tag for which type of units the unit_t represents (e.g. meters)
@tparam T underlying type of the storage. Defaults to double.
@tparam NonLinearScale optional scale class for the units. Defaults to linear (i.e. does
not scale the unit value). Examples of non-linear scales could be logarithmic,
decibel, or richter scales. Non-linear scales must adhere to the non-linear-scale
concept, i.e. is_nonlinear_scale<...>::value must be true.
@sa
- \ref lengthContainers “length unit containers”
- \ref massContainers “mass unit containers”
- \ref timeContainers “time unit containers”
- \ref angleContainers “angle unit containers”
- \ref currentContainers “current unit containers”
- \ref temperatureContainers “temperature unit containers”
- \ref substanceContainers “substance unit containers”
- \ref luminousIntensityContainers “luminous intensity unit containers”
- \ref solidAngleContainers “solid angle unit containers”
- \ref frequencyContainers “frequency unit containers”
- \ref velocityContainers “velocity unit containers”
- \ref angularVelocityContainers “angular velocity unit containers”
- \ref accelerationContainers “acceleration unit containers”
- \ref forceContainers “force unit containers”
- \ref pressureContainers “pressure unit containers”
- \ref chargeContainers “charge unit containers”
- \ref energyContainers “energy unit containers”
- \ref powerContainers “power unit containers”
- \ref voltageContainers “voltage unit containers”
- \ref capacitanceContainers “capacitance unit containers”
- \ref impedanceContainers “impedance unit containers”
- \ref magneticFluxContainers “magnetic flux unit containers”
- \ref magneticFieldStrengthContainers “magnetic field strength unit containers”
- \ref inductanceContainers “inductance unit containers”
- \ref luminousFluxContainers “luminous flux unit containers”
- \ref illuminanceContainers “illuminance unit containers”
- \ref radiationContainers “radiation unit containers”
- \ref torqueContainers “torque unit containers”
- \ref areaContainers “area unit containers”
- \ref volumeContainers “volume unit containers”
- \ref densityContainers “density unit containers”
- \ref concentrationContainers “concentration unit containers”
- \ref constantContainers “constant unit containers”
Fields§
§_base: linear_scale<[u8; 0]>