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 <limits>
#include <ratio>
#include <stdexcept>
#include "detail/number_parser.h"
#include "detail/unit.h"
#include "detail/unit_symbol.h"
Go to the source code of this file.
Classes | |
struct | SI::unit_symbol< 'L', std::ratio< 1 > > |
struct | SI::unit_symbol< 'L', _ratio > |
Namespaces | |
SI | |
SI::literals | |
Typedefs | |
template<typename _type , typename _ratio > | |
using | SI::length_t = detail::unit_t< 'L', std::ratio< 1 >, _type, _ratio > |
template<typename _type > | |
using | SI::atto_metre_t = length_t< _type, std::atto > |
template<typename _type > | |
using | SI::femto_metre_t = length_t< _type, std::femto > |
template<typename _type > | |
using | SI::pico_metre_t = length_t< _type, std::pico > |
template<typename _type > | |
using | SI::nano_metre_t = length_t< _type, std::nano > |
template<typename _type > | |
using | SI::micro_metre_t = length_t< _type, std::micro > |
template<typename _type > | |
using | SI::milli_metre_t = length_t< _type, std::milli > |
template<typename _type > | |
using | SI::centi_metre_t = length_t< _type, std::centi > |
template<typename _type > | |
using | SI::metre_t = length_t< _type, std::ratio< 1 > > |
template<typename _type > | |
using | SI::kilo_metre_t = length_t< _type, std::kilo > |
template<typename _type > | |
using | SI::mega_metre_t = length_t< _type, std::mega > |
template<typename _type > | |
using | SI::giga_metre_t = length_t< _type, std::giga > |
template<typename _type > | |
using | SI::tera_metre_t = length_t< _type, std::tera > |
template<typename _type > | |
using | SI::peta_metre_t = length_t< _type, std::peta > |
template<typename _type > | |
using | SI::exa_metre_t = length_t< _type, std::exa > |
Functions | |
template<char... _digits> | |
constexpr atto_metre_t< int64_t > | SI::literals::operator""_am () |
template<char... _digits> | |
constexpr femto_metre_t< int64_t > | SI::literals::operator""_fm () |
template<char... _digits> | |
constexpr pico_metre_t< int64_t > | SI::literals::operator""_pm () |
template<char... _digits> | |
constexpr nano_metre_t< int64_t > | SI::literals::operator""_nm () |
template<char... _digits> | |
constexpr micro_metre_t< int64_t > | SI::literals::operator""_um () |
template<char... _digits> | |
constexpr milli_metre_t< int64_t > | SI::literals::operator""_mm () |
template<char... _digits> | |
constexpr centi_metre_t< int64_t > | SI::literals::operator""_cm () |
template<char... _digits> | |
constexpr metre_t< int64_t > | SI::literals::operator""_m () |
template<char... _digits> | |
constexpr kilo_metre_t< int64_t > | SI::literals::operator""_km () |
template<char... _digits> | |
constexpr mega_metre_t< int64_t > | SI::literals::operator""_Mm () |
template<char... _digits> | |
constexpr giga_metre_t< int64_t > | SI::literals::operator""_Gm () |
template<char... _digits> | |
constexpr tera_metre_t< int64_t > | SI::literals::operator""_Tm () |
template<char... _digits> | |
constexpr peta_metre_t< int64_t > | SI::literals::operator""_Pm () |
template<char... _digits> | |
constexpr exa_metre_t< int64_t > | SI::literals::operator""_Em () |
constexpr atto_metre_t< long double > | SI::literals::operator""_am (long double value) |
constexpr femto_metre_t< long double > | SI::literals::operator""_fm (long double value) |
constexpr pico_metre_t< long double > | SI::literals::operator""_pm (long double value) |
constexpr nano_metre_t< long double > | SI::literals::operator""_nm (long double value) |
constexpr micro_metre_t< long double > | SI::literals::operator""_um (long double value) |
constexpr milli_metre_t< long double > | SI::literals::operator""_mm (long double value) |
constexpr centi_metre_t< long double > | SI::literals::operator""_cm (long double value) |
constexpr metre_t< long double > | SI::literals::operator""_m (long double value) |
constexpr kilo_metre_t< long double > | SI::literals::operator""_km (long double value) |
constexpr mega_metre_t< long double > | SI::literals::operator""_Mm (long double value) |
constexpr giga_metre_t< long double > | SI::literals::operator""_Gm (long double value) |
constexpr tera_metre_t< long double > | SI::literals::operator""_Tm (long double value) |
constexpr peta_metre_t< long double > | SI::literals::operator""_Pm (long double value) |
constexpr exa_metre_t< long double > | SI::literals::operator""_Em (long double value) |