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.
|
#include "detail/operator_helpers.h"
#include "detail/number_parser.h"
#include "detail/unit.h"
#include "frequency.h"
#include "length.h"
#include "time.h"
Go to the source code of this file.
Classes | |
struct | SI::unit_symbol< 'v', std::ratio< 1 > > |
struct | SI::unit_symbol< 'v', std::ratio_divide< std::kilo, std::ratio< 3600, 1 > >::type > |
struct | SI::unit_symbol< 'v', _ratio > |
Namespaces | |
SI | |
SI::detail | |
Namespace containing implementation details for SI. | |
SI::literals | |
Typedefs | |
template<typename _type , typename _ratio > | |
using | SI::velocity_t = detail::unit_t< 'v', std::ratio< 1 >, _type, _ratio > |
Type for velocity where v = L / T. More... | |
template<typename _type , typename _ratio > | |
using | SI::velocity_squared_t = detail::unit_t< 'v', std::ratio< 2 >, _type, _ratio > |
template<typename _type > | |
using | SI::metre_per_second_t = velocity_t< _type, std::ratio< 1 >::type > |
template<typename _type > | |
using | SI::kilometre_per_hour_t = velocity_t< _type, std::ratio_divide< std::kilo, std::ratio< 3600, 1 > >::type > |
template<typename _type > | |
using | SI::speed_of_light_t = velocity_t< _type, std::ratio< 299792458, 1 >::type > |
Functions | |
template<char... _digits> | |
constexpr speed_of_light_t< int64_t > | SI::literals::operator""_c () |
constexpr speed_of_light_t< long double > | SI::literals::operator""_c (long double value) |
template<char... _digits> | |
constexpr metre_per_second_t< int64_t > | SI::literals::operator""_m_p_s () |
template<char... _digits> | |
constexpr kilometre_per_hour_t< int64_t > | SI::literals::operator""_km_p_h () |
constexpr metre_per_second_t< long double > | SI::literals::operator""_m_p_s (long double value) |
constexpr kilometre_per_hour_t< long double > | SI::literals::operator""_km_p_h (long double value) |