std::chrono::clock_time_conversion
| ヘッダー <chrono> で定義 |
||
| template< class Dest, class Source > struct clock_time_conversion {}; |
(C++20以降) | |
std::chrono::clock_time_conversion は、Source クロックの std::chrono::time_point を Dest クロックの std::chrono::time_point に変換する方法を指定するトレイトです。これは、Source クロックの std::chrono::time_point<Source, Duration> 型の引数を受け取り、同等の時刻を表す Dest クロックの std::chrono::time_point<Dest, OtherDuration> 型の値を返す、const 呼び出し可能な operator() を提供することによって行われます。返される time_point の継続時間は、各特殊化で異なる方法でソースの継続時間から計算されます。clock_time_conversion は通常、std::chrono::clock_cast を介して間接的にのみ使用されます。
テンプレートパラメータの少なくとも1つがユーザー定義クロック型である場合、プログラムは clock_time_conversion を特殊化できます。
プライマリテンプレートは空の構造体です。標準では、以下の特殊化が定義されています。
| template< class Clock > struct clock_time_conversion<Clock, Clock>; |
(1) | (C++20以降) |
| template<> struct clock_time_conversion<std::chrono::system_clock, std::chrono::system_clock>; |
(2) | (C++20以降) |
| template<> struct clock_time_conversion<std::chrono::utc_clock, std::chrono::utc_clock>; |
(3) | (C++20以降) |
| template<> struct clock_time_conversion<std::chrono::system_clock, std::chrono::utc_clock>; |
(4) | (C++20以降) |
| template<> struct clock_time_conversion<std::chrono::utc_clock, std::chrono::system_clock>; |
(5) | (C++20以降) |
| template< class Clock > struct clock_time_conversion<Clock, std::chrono::system_clock>; |
(6) | (C++20以降) |
| template< class Clock > struct clock_time_conversion<std::chrono::system_clock, Clock>; |
(7) | (C++20以降) |
| template< class Clock > struct clock_time_conversion<Clock, std::chrono::utc_clock>; |
(8) | (C++20以降) |
| template< class Clock > struct clock_time_conversion<std::chrono::utc_clock, Clock>; |
(9) | (C++20以降) |
operator() は引数のコピーを返します。std::chrono::sys_time と std::chrono::utc_time の間の変換: operator() は、それぞれ std::chrono::utc_clock::to_sys と std::chrono::utc_clock::from_sys を呼び出します。Clock が from_sys および to_sys をサポートする場合の std::chrono::sys_time との間の変換: operator() は、それぞれ Clock::to_sys および Clock::from_sys を呼び出します。Clock が from_utc および to_utc をサポートする場合の std::chrono::utc_time との間の変換: operator() は、それぞれ Clock::to_utc および Clock::from_utc を呼び出します。目次 |
[編集] メンバ関数
各特殊化には、暗黙宣言されたデフォルトコンストラクタ、コピーコンストラクタ、ムーブコンストラクタ、コピー代入演算子、ムーブ代入演算子、およびデストラクタがあります。
std::chrono::clock_time_conversion::operator()
| template< class Duration > std::chrono::time_point<Clock, Duration> |
(1) | (特殊化のメンバ (1)) |
| template< class Duration > std::chrono::sys_time<Duration> |
(2) | (特殊化のメンバ (2)) |
| template< class Duration > std::chrono::utc_time<Duration> |
(3) | (特殊化のメンバ (3)) |
| template< class Duration > std::chrono::sys_time<Duration> |
(4) | (特殊化のメンバ (4)) |
| template< class Duration > std::chrono::utc_time<Duration> |
(5) | (特殊化のメンバ (5)) |
| template< class Duration > auto operator()( const std::chrono::sys_time<Duration>& t ) const |
(6) | (特殊化のメンバ (6)) |
| template< class Duration > auto operator()( const std::chrono::time_point<SourceClock, Duration>& t ) const |
(7) | (特殊化のメンバ (7)) |
| template< class Duration > auto operator()( const std::chrono::utc_time<Duration>& t ) const |
(8) | (特殊化のメンバ (8)) |
| template< class Duration > auto operator()( const std::chrono::time_point<Clock, Duration>& t ) const |
(9) | (特殊化のメンバ (9)) |
引数の std::chrono::time_point を宛先クロックに変換します。
t を変更せずに返します。Duration は std::chrono::duration の有効な特殊化です。Duration は std::chrono::duration の有効な特殊化です。Duration は std::chrono::duration の有効な特殊化です。Duration は std::chrono::duration の有効な特殊化です。パラメータ
| t | - | 変換する time_point |
戻り値
上記で説明された変換の結果
[編集] 関連項目
| (C++20) |
あるクロックの時間点を別のクロックの時間点に変換する (関数テンプレート) |