SI  2.5.4
A header only c++ library that provides type safety and user defined literals for handling physical values defined in the International System of Units.
Todo List
Member SI::detail::cross_unit_multiply (const _unit_lhs &lhs, const _unit_rhs &rhs)
add function that works with variable exponent units and remove special typedefs for time
Member SI::detail::eps_equals (const T &lhs, const T &rhs)
make eps_equal take different types with similar properties
Class SI::detail::unit_t< _symbol, _exponent, _type, _ratio >

add in-place unit_cast for move operators

add logarithmic units (decibel)

add constants for speed of light, planck constant, elementary charge, boltzmann constant, avogadro constant and luminous efficacy of monochromatic radiation of frequency

Member SI::detail::unit_t< _symbol, _exponent, _type, _ratio >::setValue (_type v)
set as friend to the stream-function
Member SI::electric_resistance_t
find a way to use Ohm as dimension symbol or switch to R (occupied by solid angle)
Member SI::frequency_t
find a way to add alternative dimension symbol (f) to frequency
Member SI::magnetic_field_t
find a way to encapsulate phi
Member SI::magnetic_flux_t
find a way to encapsulate phi
Member SI::radioactivity_t

check how to make this the same/an alias of hertz

think of how this can be built from 1/T (probably goes along with making it an alias of hertz)

Member SI::temperature_t

find a way to encapuslate unit symbol Theta

consider adding Celsius and fahrenheit