std::literals::chrono_literals::operator""d
From cppreference.com
| ヘッダー <chrono> で定義 |
||
| constexpr std::chrono::day operator ""d( unsigned long long d ) noexcept; |
(C++20以降) | |
カレンダー上の月の日を表す std::chrono::day リテラルを形成します。
目次 |
[編集] パラメータ
| d | - | 日 |
[編集] 戻り値
d を格納する std::chrono::day。 d > 255 の場合、格納される値は未指定です。
[編集] 考えられる実装
constexpr std::chrono::day operator ""d(unsigned long long d) noexcept { return std::chrono::day(d); } |
[編集] 注記
この演算子は「std::literals::chrono_literals」名前空間に宣言されています。ここで「literals」と「chrono_literals」は両方ともインライン名前空間です。この演算子へのアクセスは以下のようにして得られます。
- using namespace std::literals,
- using namespace std::chrono_literals、または
- using namespace std::literals::chrono_literals.
さらに、「std::chrono」名前空間内では、「using namespace literals::chrono_literals;」というディレクティブが標準ライブラリによって提供されているため、プログラマが「using namespace std::chrono;」を使用してchronoライブラリのクラスにアクセスできるようにすると、対応するリテラル演算子も同様に表示されるようになります。
[編集] 例
このコードを実行
#include <chrono> #include <iostream> int main() { using namespace std::literals::chrono_literals; std::cout << static_cast<unsigned>(42d) << '\t' << 42d << '\n' << static_cast<unsigned>(256d) << '\t' << 256d << '\n' // unspecified << static_cast<unsigned>(298d) << '\t' << 298d << '\n'; // unspecified }
実行結果の例
42 42 is not a valid day 0 00 is not a valid day 42 42 is not a valid day
[編集] 関連項目
day を構築します( std::chrono::day の public member function) | |
| 格納されている日値を返します ( std::chrono::day の public member function) |