Namespaces
Variants

Standard library header <ratio> (C++11)

From cppreference.net
Standard library headers

Este encabezado es parte de la biblioteca de aritmética racional en tiempo de compilación .

Contenidos

Clases

(C++11)
representa una fracción racional exacta
(plantilla de clase)
Aritmética
(C++11)
suma dos objetos ratio en tiempo de compilación
(plantilla de alias)
resta dos objetos ratio en tiempo de compilación
(plantilla de alias)
multiplica dos objetos ratio en tiempo de compilación
(plantilla de alias)
divide dos objetos ratio en tiempo de compilación
(plantilla de alias)
Comparación
compara dos objetos ratio para igualdad en tiempo de compilación
(plantilla de clase)
compara dos objetos ratio para desigualdad en tiempo de compilación
(plantilla de clase)
(C++11)
compara dos objetos ratio para menor que en tiempo de compilación
(plantilla de clase)
compara dos objetos ratio para menor o igual que en tiempo de compilación
(plantilla de clase)
compara dos objetos ratio para mayor que en tiempo de compilación
(plantilla de clase)
compara dos objetos ratio para mayor o igual que en tiempo de compilación
(plantilla de clase)
Alias de Tipos
quecto (C++26) std:: ratio < 1 , 1000000000000000000000000000000 > , si std::intmax_t puede representar el denominador
ronto (C++26) std:: ratio < 1 , 1000000000000000000000000000 > , si std::intmax_t puede representar el denominador
yocto std:: ratio < 1 , 1000000000000000000000000 > , si std::intmax_t puede representar el denominador
zepto std:: ratio < 1 , 1000000000000000000000 > , si std::intmax_t puede representar el denominador
atto std:: ratio < 1 , 1000000000000000000 >
femto std:: ratio < 1 , 1000000000000000 >
pico std:: ratio < 1 , 1000000000000 >
nano std:: ratio < 1 , 1000000000 >
micro std:: ratio < 1 , 1000000 >
milli std:: ratio < 1 , 1000 >
centi std:: ratio < 1 , 100 >
deci std:: ratio < 1 , 10 >
deca std:: ratio < 10 , 1 >
hecto std:: ratio < 100 , 1 >
kilo std:: ratio < 1000 , 1 >
mega std:: ratio < 1000000 , 1 >
giga std:: ratio < 1000000000 , 1 >
tera std:: ratio < 1000000000000 , 1 >
peta std:: ratio < 1000000000000000 , 1 >
exa std:: ratio < 1000000000000000000 , 1 >
zetta std:: ratio < 1000000000000000000000 , 1 > , si std::intmax_t puede representar el numerador
yotta std:: ratio < 1000000000000000000000000 , 1 > , si std::intmax_t puede representar el numerador
ronna (C++26) std:: ratio < 1000000000000000000000000000 , 1 > , si std::intmax_t puede representar el numerador
quetta (C++26) std:: ratio < 1000000000000000000000000000000 , 1 > , si std::intmax_t puede representar el numerador

Sinopsis

namespace std {
    // plantilla de clase ratio
    template <intmax_t N, intmax_t D = 1>
    class ratio {
    public:
        typedef ratio<num, den> type;
        static constexpr intmax_t num;
        static constexpr intmax_t den;
    };
    // aritmética de ratios            
    template <class R1, class   R2> using   ratio_add      = /*ratio*/;
    template <class R1, class   R2> using   ratio_subtract = /*ratio*/;
    template <class R1, class   R2> using   ratio_multiply = /*ratio*/;
    template <class R1, class   R2> using   ratio_divide   = /*ratio*/;
    // comparación de ratios            
    template <class R1, class R2> struct ratio_equal;           
    template <class R1, class R2> struct ratio_not_equal;           
    template <class R1, class R2> struct ratio_less;      
    template <class R1, class R2> struct ratio_less_equal;          
    template <class R1, class R2> struct ratio_greater;         
    template <class R1, class R2> struct ratio_greater_equal;  
    // typedefs SI de conveniencia
    typedef ratio<1, 1000000000000000000000000000000> quecto;
    typedef ratio<1,    1000000000000000000000000000> ronto;         
    typedef ratio<1,       1000000000000000000000000> yocto;
    typedef ratio<1,          1000000000000000000000> zepto;
    typedef ratio<1,             1000000000000000000> atto;   
    typedef ratio<1,                1000000000000000> femto;  
    typedef ratio<1,                   1000000000000> 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<                  1000000000000, 1> tera;   
    typedef ratio<               1000000000000000, 1> peta;   
    typedef ratio<            1000000000000000000, 1> exa;    
    typedef ratio<         1000000000000000000000, 1> zetta;
    typedef ratio<      1000000000000000000000000, 1> yotta;
    typedef ratio<   1000000000000000000000000000, 1> ronna;
    typedef ratio<1000000000000000000000000000000, 1> quetta;
}