|
Unit Conversion and Dimensional Analysis Library 3.6.1
A compile-time, header-only C++23 dimensional-analysis library
|
Type representing an arbitrary conversion factor between units. More...
#include <core.h>
Public Types | |
| using | dimension_type = traits::dimension_of_t<BaseUnit> |
| using | conversion_ratio = std::ratio_multiply<typename BaseUnit::conversion_ratio, Conversion> |
| using | pi_exponent_ratio = std::ratio_add<typename BaseUnit::pi_exponent_ratio, PiExponent> |
| using | translation_ratio = std::ratio_add<std::ratio_multiply<typename BaseUnit::conversion_ratio, Translation>, typename BaseUnit::translation_ratio> |
Type representing an arbitrary conversion factor between units.
conversion_factors are used as tags for the convert function. Each unit is defined by:
Typically, a specific conversion factor, like meters, would be implemented as a strong type alias of conversion_factor, i.e. struct meters : conversion_factor<std::ratio<1>, units::dimension::length> {};, or type alias, i.e. using inches = conversion_factor<std::ratio<1,12>, feet>.
| Conversion | std::ratio representing dimensionless multiplication factor. |
| BaseUnit | Unit type which this unit is derived from. May be a dimension_t, or another conversion_factor. |
| PiExponent | std::ratio representing the exponent of pi required by the conversion. |
| Translation | std::ratio representing any datum translation required by the conversion. |