AM Daemon ライブラリリファレンス
|
マイクロ秒精度の時間間隔を表す構造体。 [詳解]
#include <TimeSpan.h>
公開型 | |
typedef std::int64_t | value_type |
内部値の表現型。 [詳解] | |
公開メンバ関数 | |
value_type | toMicroseconds () const |
マイクロ秒数値に変換する。 [詳解] | |
value_type | toMilliseconds () const |
ミリ秒数値に変換する。 [詳解] | |
value_type | toSeconds () const |
秒数値に変換する。 [詳解] | |
value_type | toMinutes () const |
分数値に変換する。 [詳解] | |
value_type | toHours () const |
時数値に変換する。 [詳解] | |
value_type | toDays () const |
日数値に変換する。 [詳解] | |
std::chrono::microseconds | toDuration () const |
時間間隔値に変換する。 [詳解] | |
value_type | getPartOfMicroseconds () const |
マイクロ秒数パート値を取得する。 [詳解] | |
value_type | getPartOfMilliseconds () const |
ミリ秒数パート値を取得する。 [詳解] | |
value_type | getPartOfSeconds () const |
秒数パート値を取得する。 [詳解] | |
value_type | getPartOfMinutes () const |
分数パート値を取得する。 [詳解] | |
value_type | getPartOfHours () const |
時数パート値を取得する。 [詳解] | |
value_type | getPartOfDays () const |
日数パート値を取得する。 [詳解] | |
bool | isZero () const |
ゼロ値であるか否かを取得する。 [詳解] | |
bool | isMinus () const |
負数であるか否かを取得する。 [詳解] | |
void | toParts (value_type *days, value_type *hours=nullptr, value_type *minutes=nullptr, value_type *seconds=nullptr, value_type *milliseconds=nullptr, value_type *microseconds=nullptr) const |
パート分割された時間間隔値を取得する。 [詳解] | |
std::wstring | toString (const wchar_t *format=nullptr) const |
文字列表現値を作成する。 [詳解] | |
TimeSpan & | operator+= (const TimeSpan &r) |
加算代入演算子のオーバロード。 [詳解] | |
TimeSpan & | operator-= (const TimeSpan &r) |
減算代入演算子のオーバロード。 [詳解] | |
静的公開メンバ関数 | |
static TimeSpan | fromMicroseconds (value_type microseconds) |
マイクロ秒数値からインスタンスを作成する。 [詳解] | |
static TimeSpan | fromMilliseconds (value_type milliseconds) |
ミリ秒数値からインスタンスを作成する。 [詳解] | |
static bool | tryFromMilliseconds (value_type milliseconds, TimeSpan &result) |
ミリ秒数値からインスタンスを作成する。 [詳解] | |
static TimeSpan | fromSeconds (value_type seconds) |
秒数値からインスタンスを作成する。 [詳解] | |
static bool | tryFromSeconds (value_type seconds, TimeSpan &result) |
秒数値からインスタンスを作成する。 [詳解] | |
static TimeSpan | fromMinutes (value_type minutes) |
分数値からインスタンスを作成する。 [詳解] | |
static bool | tryFromMinutes (value_type minutes, TimeSpan &result) |
分数値からインスタンスを作成する。 [詳解] | |
static TimeSpan | fromHours (value_type hours) |
時数値からインスタンスを作成する。 [詳解] | |
static bool | tryFromHours (value_type hours, TimeSpan &result) |
時数値からインスタンスを作成する。 [詳解] | |
static TimeSpan | fromDays (value_type days) |
日数値からインスタンスを作成する。 [詳解] | |
static bool | tryFromDays (value_type days, TimeSpan &result) |
日数値からインスタンスを作成する。 [詳解] | |
template<class TCount , class TPeriod > | |
static TimeSpan | fromDuration (const std::chrono::duration< TCount, TPeriod > &duration) |
時間間隔値からインスタンスを作成する。 [詳解] | |
static TimeSpan | zero () |
ゼロ値のインスタンスを作成する。 [詳解] | |
static TimeSpan | min () |
表現可能な最小値を持つインスタンスを作成する。 [詳解] | |
static TimeSpan | max () |
表現可能な最大値を持つインスタンスを作成する。 [詳解] | |
static TimeSpan | clock (bool forceStdClock=false) |
経過時間の計算に利用できるクロック時間からインスタンスを作成する。 [詳解] | |
static bool | tryClock (TimeSpan &result, bool forceStdClock=false) |
経過時間の計算に利用できるクロック時間からインスタンスを作成する。 [詳解] | |
static TimeSpan | negate (const TimeSpan &span) |
TimeSpan 値の符号を反転させた値を算出する。 [詳解] | |
static TimeSpan | abs (const TimeSpan &span) |
TimeSpan 値の絶対値を算出する。 [詳解] | |
static TimeSpan | add (const TimeSpan &span1, const TimeSpan &span2) |
2つの TimeSpan 値を加算する。 [詳解] | |
static bool | tryAdd (const TimeSpan &span1, const TimeSpan &span2, TimeSpan &result) |
2つの TimeSpan 値を加算する。 [詳解] | |
static TimeSpan | subtract (const TimeSpan &span1, const TimeSpan &span2) |
TimeSpan 値から別の TimeSpan 値を減算する。 [詳解] | |
static bool | trySubtract (const TimeSpan &span1, const TimeSpan &span2, TimeSpan &result) |
TimeSpan 値から別の TimeSpan 値を減算する。 [詳解] | |
static TimeSpan | multiply (const TimeSpan &span, value_type value) |
TimeSpan 値に整数値を乗算する。 [詳解] | |
static bool | tryMultiply (const TimeSpan &span, value_type value, TimeSpan &result) |
TimeSpan 値に整数値を乗算する。 [詳解] | |
static TimeSpan | divide (const TimeSpan &span, value_type value) |
TimeSpan 値を整数値で除算する。 [詳解] | |
公開変数類 | |
value_type | value |
マイクロ秒数値。 [詳解] | |
関連関数 | |
(これらはメソッドではありません) | |
TimeSpan | operator+ (const TimeSpan &u) |
単項プラス演算子のオーバロード。 [詳解] | |
TimeSpan | operator- (const TimeSpan &u) |
単項マイナス演算子のオーバロード。 [詳解] | |
TimeSpan | operator+ (const TimeSpan &l, const TimeSpan &r) |
加算演算子のオーバロード。 [詳解] | |
TimeSpan | operator- (const TimeSpan &l, const TimeSpan &r) |
減算演算子のオーバロード。 [詳解] | |
bool | operator== (const TimeSpan &l, const TimeSpan &r) |
等価比較演算子のオーバロード。 [詳解] | |
bool | operator!= (const TimeSpan &l, const TimeSpan &r) |
非等価比較演算子のオーバロード。 [詳解] | |
bool | operator< (const TimeSpan &l, const TimeSpan &r) |
小なり比較演算子のオーバロード。 [詳解] | |
bool | operator> (const TimeSpan &l, const TimeSpan &r) |
大なり比較演算子のオーバロード。 [詳解] | |
bool | operator<= (const TimeSpan &l, const TimeSpan &r) |
小なり等価比較演算子のオーバロード。 [詳解] | |
bool | operator>= (const TimeSpan &l, const TimeSpan &r) |
大なり等価比較演算子のオーバロード。 [詳解] | |
マイクロ秒精度の時間間隔を表す構造体。
typedef std::int64_t amdaemon::util::TimeSpan::value_type |
内部値の表現型。
|
inlinestatic |
マイクロ秒数値からインスタンスを作成する。
[in] | microseconds | マイクロ秒数値。 |
|
inlinestatic |
ミリ秒数値からインスタンスを作成する。
[in] | milliseconds | ミリ秒数値。 |
Exception | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
ミリ秒数値からインスタンスを作成する。
[in] | milliseconds | ミリ秒数値。 |
[out] | result | 作成されたインスタンスの設定先。 |
true | 作成に成功した場合。 |
false | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
|
inlinestatic |
秒数値からインスタンスを作成する。
[in] | seconds | 秒数値。 |
[out] | result | 作成されたインスタンスの設定先。 |
true | 作成に成功した場合。 |
false | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
|
inlinestatic |
分数値からインスタンスを作成する。
[in] | minutes | 分数値。 |
[out] | result | 作成されたインスタンスの設定先。 |
true | 作成に成功した場合。 |
false | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
|
inlinestatic |
時数値からインスタンスを作成する。
[in] | hours | 時数値。 |
[out] | result | 作成されたインスタンスの設定先。 |
true | 作成に成功した場合。 |
false | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
|
inlinestatic |
日数値からインスタンスを作成する。
[in] | days | 日数値。 |
[out] | result | 作成されたインスタンスの設定先。 |
true | 作成に成功した場合。 |
false | マイクロ秒数値に変換した値が表現可能範囲に収まらない場合。 |
|
inlinestatic |
時間間隔値からインスタンスを作成する。
TCount | 内部カウンタ値の表現型。 |
TPeriod | 秒に対する割合を表す有理数型。 |
[in] | duration | 時間間隔値。 |
|
inlinestatic |
ゼロ値のインスタンスを作成する。
|
inlinestatic |
表現可能な最小値を持つインスタンスを作成する。
|
inlinestatic |
表現可能な最大値を持つインスタンスを作成する。
|
static |
経過時間の計算に利用できるクロック時間からインスタンスを作成する。
[in] | forceStdClock | 必ず標準関数 std::clock を用いるならば true 。 |
Exception | 内部で乗算した値が表現可能範囲に収まらない場合。 |
返される時間値そのものに意味はない。 この関数で得た2値の差分によって経過時間を求める目的で用いる。
Windows環境かつ引数 forceStdClock に false を指定した場合、 高分解能パフォーマンスカウンタが用いられる。
長期間の連続稼働により表現可能な上限値に達する場合がある。 長期間稼働する可能性がある場合、この関数ではなく Clock クラスの利用を推奨する。
|
static |
経過時間の計算に利用できるクロック時間からインスタンスを作成する。
[out] | result | 作成されたインスタンスの設定先。 0 より大きい内部値を持つ。 |
[in] | forceStdClock | 必ず標準関数 std::clock を用いるならば true 。 |
true | 作成に成功した場合。 |
false | 内部で乗算した値が表現可能範囲に収まらない場合。 |
返される時間値そのものに意味はない。 この関数で得た2値の差分によって経過時間を求める目的で用いる。
Windows環境かつ引数 forceStdClock に false を指定した場合、 高分解能パフォーマンスカウンタが用いられる。
長期間の連続稼働により表現可能な上限値に達する場合がある。 長期間稼働する可能性がある場合、この関数ではなく Clock クラスの利用を推奨する。
|
static |
|
static |
|
static |
|
static |
|
inline |
マイクロ秒数値に変換する。
|
inline |
ミリ秒数値に変換する。
|
inline |
秒数値に変換する。
|
inline |
分数値に変換する。
|
inline |
時数値に変換する。
|
inline |
日数値に変換する。
|
inline |
時間間隔値に変換する。
|
inline |
マイクロ秒数パート値を取得する。
|
inline |
ミリ秒数パート値を取得する。
|
inline |
秒数パート値を取得する。
|
inline |
分数パート値を取得する。
|
inline |
時数パート値を取得する。
|
inline |
日数パート値を取得する。
|
inline |
ゼロ値であるか否かを取得する。
true | 内部値が 0 である場合。 |
false | 内部値が 0 以外である場合。 |
|
inline |
負数であるか否かを取得する。
true | 内部値が 0 未満である場合。 |
false | 内部値が 0 以上である場合。 |
void amdaemon::util::TimeSpan::toParts | ( | value_type * | days, |
value_type * | hours = nullptr , |
||
value_type * | minutes = nullptr , |
||
value_type * | seconds = nullptr , |
||
value_type * | milliseconds = nullptr , |
||
value_type * | microseconds = nullptr |
||
) | const |
パート分割された時間間隔値を取得する。
[out] | days | 日数パートの設定先。取得しないならば nullptr 。 |
[out] | hours | 時数パートの設定先。取得しないならば nullptr 。 |
[out] | minutes | 分数パートの設定先。取得しないならば nullptr 。 |
[out] | seconds | 秒数パートの設定先。取得しないならば nullptr 。 |
[out] | milliseconds | ミリ秒数パートの設定先。取得しないならば nullptr 。 |
[out] | microseconds | マイクロ秒数パートの設定先。取得しないならば nullptr 。 |
特定のパートに nullptr を指定した場合、非 nullptr を指定したパートに nullptr を指定したパート分の値も加算される。
例えば引数 hours (時数パート)と引数 seconds (秒数パート)のみに非 nullptr を 指定した場合、次のように格納される。
std::wstring amdaemon::util::TimeSpan::toString | ( | const wchar_t * | format = nullptr | ) | const |
文字列表現値を作成する。
[in] | format | フォーマット文字列。 |
引数 format には下記のフォーマット文字列と任意の文字列の組み合わせを指定する。 大文字と小文字は区別されることに注意。
数値を表すフォーマット文字列は、1文字目の '' の直後に幅指定を行う事ができる。 幅指定は「数字」か、「文字 '0' + 数字」の形式で指定でき、例えば次のようになる。
フォーマット文字列中に特定のパートが存在しない場合、 存在するパートに存在しないパート分の値も加算して文字列化される。 "%+", "%-", "%v", "%V", "%%" はこの処理には関与しない。
例えば "%h%s" のように時数パートと秒数パートのみから構成される フォーマット文字列を指定した場合、次のように文字列化される。
引数 format に nullptr を指定した場合、 "%v" を指定したものとして扱う。
等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
非等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
小なり比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
大なり比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
小なり等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
大なり等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
value_type amdaemon::util::TimeSpan::value |
マイクロ秒数値。