最終更新日時(UTC): 2024年06月11日 13時45分38秒
Akira Takahashi が更新

履歴 編集

function template
<chrono>

# std::chrono::floor(C++17)

    namespace std::chrono {
      template <class ToDuration, class Rep, class Period>
      constexpr ToDuration floor(const duration<Rep, Period>& d);
    }

## 概要

分解能が低い`duration`に変換する際に、床関数 (負の無限大方向への丸め、切り下げ) による丸めを行う。

## 戻り値

`d`以下の値を返す。

## 例

    #include <iostream>
    #include <chrono>

    using namespace std::chrono;

    int main()
    {
      milliseconds ms{1500};
      seconds s = floor<seconds>(ms);

      std::cout << s.count() << std::endl;
    }

### 出力

    1

## バージョン

### 言語

- C++17

### 処理系

- GCC: 7.3 ✅
- Clang: 3.8 ✅
- Visual C++: ??

## 関連項目

名前 | 説明
--- | ---
`duration_cast` | ゼロ方向への丸め
`ceil` | 正の無限大方向への丸め
`round` | 偶数方向への丸め

## 参照

- P0092R1 Polishing `<chrono>`