constexpr precision to_duration() const noexcept; // (1) C++20
概要
時:分:秒、秒未満をもつduration
オブジェクトに変換する。
戻り値
is_negative()
がtrue
であれば-(hours() + minutes() + seconds() + subseconds())
を返し、そうでなければhours() + minutes() + seconds() + subseconds()
を返す。
例
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
chrono::hh_mm_ss time1{15h + 30min + 20s};
assert(time1.to_duration() == 15h + 30min + 20s);
chrono::hh_mm_ss time2{-(15h + 30min + 20s)};
assert(time2.to_duration() == -(15h + 30min + 20s));
chrono::hh_mm_ss time3{15h + 30min + 20s + 123ms};
assert(time3.to_duration() == 15h + 30min + 20s + 123ms);
}
出力
バージョン
言語
- C++20
処理系
- Clang: 10.0 ✅
- GCC: 11.1 ✅
- Visual C++: 2019 Update 3 ❌