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.
Classes | Namespaces | Variables
detail.h File Reference
#include "number_parser.h"
#include <cstdint>
#include <numeric>
#include <ratio>
Include dependency graph for detail.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  SI::detail::is_ratio< _type >
 to check if a template is an instantiation of std::ratio More...
struct  SI::detail::is_ratio< std::ratio< _num, _den > >
struct  SI::detail::ratio_gcd< _ratio_lhs, _ratio_rhs >
 calculate gcd for rations More...
struct  SI::detail::is_unit_t< _unit >
struct  SI::detail::is_unit_t< const unit_t< _symbol, _exponent, _type, _ratio > >
 template specialization to check if a type is a unit_t (true if unit_t) More...
struct  SI::detail::is_unit_t< unit_t< _symbol, _exponent, _type, _ratio > >
 non-const specialization of check above More...


 Namespace containing implementation details for SI.


template<typename _type >
constexpr bool SI::detail::is_ratio_v = is_ratio<_type>::value
template<typename _type >
constexpr bool SI::detail::is_unit_t_v = is_unit_t<_type>::value