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, Duration
>
型の引数を受け取り、同等の時点を表す
std::
chrono
::
time_point
<
Dest, OtherDuration
>
を返すconst-callableな
operator()
を提供することで実現されます。返されるtime_pointのdurationは、各特殊化によって異なる方法で元のdurationから計算されます。
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()
は引数のコピーを返します。
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
をサポートする場合):
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 | - | 変換する時間点 |
戻り値
上記で説明した変換の結果:
関連項目
|
(C++20)
|
あるクロックの時間点を別のクロックに変換する
(関数テンプレート) |