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.

Classes

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...
 

Namespaces

 SI
 
 SI::detail
 Namespace containing implementation details for SI.
 

Variables

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