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 | Typedefs | Functions
angle.h File Reference
#include "detail/number_parser.h"
#include "detail/unit.h"
#include "detail/unit_symbol.h"
Include dependency graph for angle.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SI::unit_symbol< 'r', std::ratio< 1 > >
 
struct  SI::unit_symbol< 'r', std::ratio< 100000000, 5729577951308232 > >
 
struct  SI::unit_symbol< 'r', std::ratio< 100000000000, 5729577951308232 > >
 
struct  SI::unit_symbol< 'r', std::ratio< 100000000000000, 5729577951308232 > >
 
struct  SI::unit_symbol< 'r', _ratio >
 

Namespaces

 SI
 
 SI::literals
 

Typedefs

template<typename _type , typename _ratio >
using SI::angle_t = detail::unit_t< 'r', std::ratio< 1 >, _type, _ratio >
 Type for angle (which should be buildable from m/m (sin/cos)) More...
 
template<typename _type >
using SI::atto_radian_t = angle_t< _type, std::atto >
 
template<typename _type >
using SI::femto_radian_t = angle_t< _type, std::femto >
 
template<typename _type >
using SI::pico_radian_t = angle_t< _type, std::pico >
 
template<typename _type >
using SI::nano_radian_t = angle_t< _type, std::nano >
 
template<typename _type >
using SI::micro_radian_t = angle_t< _type, std::micro >
 
template<typename _type >
using SI::milli_radian_t = angle_t< _type, std::milli >
 
template<typename _type >
using SI::radian_t = angle_t< _type, std::ratio< 1 > >
 
template<typename _type >
using SI::micro_degree_t = angle_t< _type, std::ratio< 100000000, 5729577951308232 > >
 
template<typename _type >
using SI::milli_degree_t = angle_t< _type, std::ratio< 100000000000, 5729577951308232 > >
 
template<typename _type >
using SI::degree_t = angle_t< _type, std::ratio< 100000000000000, 5729577951308232 > >
 

Functions

template<char... _digits>
constexpr atto_radian_t< int64_t > SI::literals::operator""_arad ()
 
template<char... _digits>
constexpr femto_radian_t< int64_t > SI::literals::operator""_frad ()
 
template<char... _digits>
constexpr pico_radian_t< int64_t > SI::literals::operator""_prad ()
 
template<char... _digits>
constexpr nano_radian_t< int64_t > SI::literals::operator""_nrad ()
 
template<char... _digits>
constexpr micro_radian_t< int64_t > SI::literals::operator""_urad ()
 
template<char... _digits>
constexpr milli_radian_t< int64_t > SI::literals::operator""_mrad ()
 
template<char... _digits>
constexpr radian_t< int64_t > SI::literals::operator""_rad ()
 
constexpr atto_radian_t< long double > SI::literals::operator""_arad (long double value)
 
constexpr femto_radian_t< long double > SI::literals::operator""_frad (long double value)
 
constexpr pico_radian_t< long double > SI::literals::operator""_prad (long double value)
 
constexpr nano_radian_t< long double > SI::literals::operator""_nrad (long double value)
 
constexpr micro_radian_t< long double > SI::literals::operator""_urad (long double value)
 
constexpr milli_radian_t< long double > SI::literals::operator""_mrad (long double value)
 
constexpr radian_t< long double > SI::literals::operator""_rad (long double value)
 
template<char... _digits>
constexpr micro_degree_t< int64_t > SI::literals::operator""_udeg ()
 
template<char... _digits>
constexpr milli_degree_t< int64_t > SI::literals::operator""_mdeg ()
 
template<char... _digits>
constexpr degree_t< int64_t > SI::literals::operator""_deg ()
 
constexpr micro_degree_t< long double > SI::literals::operator""_udeg (long double value)
 
constexpr milli_degree_t< long double > SI::literals::operator""_mdeg (long double value)
 
constexpr degree_t< long double > SI::literals::operator""_deg (long double value)