Aracılığıyla paylaş


chrono Hazır

(C++14) Üst bilgi, <chrono> saatleri, dakikaları, saniyeleri, milisaniyeleri, mikrosaniyeleri ve nanosaniyeleri temsil eden 12 kullanıcı tanımlı değişmez değeri tanımlar. Kullanıcı tanımlı her değişmez değerin bir integrali ve kayan nokta aşırı yüklemesi vardır. Değişmez değerler, kapsam içinde literals::chrono_literals olduğunda std::chrono otomatik olarak kapsama getirilen satır içi ad alanında tanımlanır.

Sözdizimi

inline namespace literals {
  inline namespace chrono_literals {
    // return integral days
    constexpr std::chrono::day operator"" d(unsigned long long d) noexcept;

    // return integral hours
    constexpr chrono::hours operator"" h(unsigned long long Val);

    // return floating-point hours
    constexpr chrono::duration<double, ratio<3600>> operator"" h(long double Val);

    // return integral minutes
    constexpr chrono::minutes(operator"" min)(unsigned long long Val);

    // return floating-point minutes
    constexpr chrono::duration<double, ratio<60>>(operator"" min)(long double Val);

    // return integral seconds
    constexpr chrono::seconds operator"" s(unsigned long long Val);

    // return floating-point seconds
    constexpr chrono::duration<double> operator"" s(long double Val);

    // return integral milliseconds
    constexpr chrono::milliseconds operator"" ms(unsigned long long Val);

    // return floating-point milliseconds
    constexpr chrono::duration<double, milli> operator"" ms(long double Val);

    // return integral microseconds
    constexpr chrono::microseconds operator"" us(unsigned long long Val);

    // return floating-point microseconds
    inline constexpr chrono::duration<double, micro> operator"" us(long double Val);

    // return integral nanoseconds
    inline constexpr chrono::nanoseconds operator"" ns(unsigned long long Val);

    // return floating-point nanoseconds
    constexpr chrono::duration<double, nano> operator"" ns(long double Val);

    // return integral year
    constexpr chrono::year operator""y(unsigned long long y) noexcept; // C++20
  } // inline namespace chrono_literals
} // inline namespace literals

Dönüş değeri

Bağımsız değişken alan long long değişmez değerler bir değer veya karşılık gelen tür döndürür. Kayan nokta bağımsız değişkenini alan değişmez değerler bir durationdöndürür.

Örnek

Aşağıdaki örneklerde değişmez değerlerin chrono nasıl kullanılacağı gösterilmektedir.

constexpr auto day = 14d; // If the value > 255, then the stored value is unspecified. 
constexpr auto twoDays = 48h;
constexpr auto week = 24h* 7;
constexpr auto my_duration_unit = 108ms;
constexpr auto theYear = 2021y;