STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Typedefs
ratio File Reference
#include <stdint.h>
#include <type_traits>

Classes

struct  _Abs< _Val >
 
struct  _Safe_mult< _Ax, _Bx, _Sfinae, _Good >
 
struct  _Safe_mult< _Ax, _Bx, _Sfinae, false >
 
struct  _Sign_of< _Val >
 
struct  _Safe_addX< _Ax, _Bx, _Good, _Also_good >
 
struct  _Safe_addX< _Ax, _Bx, false, false >
 
struct  _Safe_add< _Ax, _Bx >
 
struct  _GcdX< _Ax, _Bx >
 
struct  _GcdX< _Ax, 0 >
 
struct  _Gcd< _Ax, _Bx >
 
struct  _Gcd< 0, 0 >
 
struct  ratio< _Nx, _Dx >
 
struct  _Are_ratios< _Ty1, _Ty2 >
 
struct  _Are_ratios< ratio< _N1, _D1 >, ratio< _N2, _D2 > >
 
struct  _Ratio_add< _R1, _R2 >
 
struct  _Ratio_subtract< _R1, _R2 >
 
struct  _Ratio_multiply< _R1, _R2 >
 
struct  _Ratio_multiply_sfinae< _R1, _R2, _Sfinae, class >
 
struct  _Ratio_multiply_sfinae< _R1, _R2, _Sfinae, void_t< typename _Ratio_multiply< _R1, _R2 >::_Num::type, typename _Ratio_multiply< _R1, _R2 >::_Den::type > >
 
struct  _Ratio_divide< _R1, _R2 >
 
struct  ratio_equal< _R1, _R2 >
 
struct  ratio_not_equal< _R1, _R2 >
 
struct  _Ratio_less< _R1, _R2 >
 
struct  ratio_less< _R1, _R2 >
 
struct  ratio_less_equal< _R1, _R2 >
 
struct  ratio_greater< _R1, _R2 >
 
struct  ratio_greater_equal< _R1, _R2 >
 

Macros

#define _RATIO_
 

Typedefs

template<class _R1 , class _R2 >
using ratio_add = typename _Ratio_add< _R1, _R2 >::type
 
template<class _R1 , class _R2 >
using ratio_subtract = typename _Ratio_subtract< _R1, _R2 >::type
 
template<class _R1 , class _R2 >
using ratio_multiply = typename _Ratio_multiply_sfinae< _R1, _R2, false >::type
 
template<class _R1 , class _R2 , bool _Sfinae = true>
using _Ratio_divide_sfinae = typename _Ratio_multiply_sfinae< _R1, typename _Ratio_divide< _R1, _R2 >::_R2_inverse, _Sfinae >::type
 
template<class _R1 , class _R2 >
using ratio_divide = _Ratio_divide_sfinae< _R1, _R2, false >
 
typedef ratio< 1, 1000000000000000000LL > atto
 
typedef ratio< 1, 1000000000000000LL > femto
 
typedef ratio< 1, 1000000000000LL > pico
 
typedef ratio< 1, 1000000000 > nano
 
typedef ratio< 1, 1000000 > micro
 
typedef ratio< 1, 1000 > milli
 
typedef ratio< 1, 100 > centi
 
typedef ratio< 1, 10 > deci
 
typedef ratio< 10, 1 > deca
 
typedef ratio< 100, 1 > hecto
 
typedef ratio< 1000, 1 > kilo
 
typedef ratio< 1000000, 1 > mega
 
typedef ratio< 1000000000, 1 > giga
 
typedef ratio< 1000000000000LL, 1 > tera
 
typedef ratio< 1000000000000000LL, 1 > peta
 
typedef ratio< 1000000000000000000LL, 1 > exa
 

Macro Definition Documentation

#define _RATIO_

Typedef Documentation

template<class _R1 , class _R2 , bool _Sfinae = true>
using _Ratio_divide_sfinae = typename _Ratio_multiply_sfinae< _R1, typename _Ratio_divide<_R1, _R2>::_R2_inverse, _Sfinae>::type
typedef ratio<1, 1000000000000000000LL> atto
typedef ratio<1, 100> centi
typedef ratio<10, 1> deca
typedef ratio<1, 10> deci
typedef ratio<1000000000000000000LL, 1> exa
typedef ratio<1, 1000000000000000LL> femto
typedef ratio<1000000000, 1> giga
typedef ratio<100, 1> hecto
typedef ratio<1000, 1> kilo
typedef ratio<1000000, 1> mega
typedef ratio<1, 1000000> micro
typedef ratio<1, 1000> milli
typedef ratio<1, 1000000000> nano
typedef ratio<1000000000000000LL, 1> peta
typedef ratio<1, 1000000000000LL> pico
template<class _R1 , class _R2 >
using ratio_add = typename _Ratio_add<_R1, _R2>::type
template<class _R1 , class _R2 >
using ratio_divide = _Ratio_divide_sfinae<_R1, _R2, false>
template<class _R1 , class _R2 >
using ratio_multiply = typename _Ratio_multiply_sfinae<_R1, _R2, false> ::type
template<class _R1 , class _R2 >
using ratio_subtract = typename _Ratio_subtract<_R1, _R2>::type
typedef ratio<1000000000000LL, 1> tera