AM Daemon ライブラリリファレンス
公開型 | 公開メンバ関数 | 全メンバ一覧
amdaemon::util::Clock クラス

クロックカウント値とその時間差分計算処理を提供するクラス。 [詳解]

#include <Clock.h>

公開型

typedef std::int64_t value_type
 内部値の表現型。 [詳解]
 

公開メンバ関数

 Clock ()
 コンストラクタ。 [詳解]
 
 Clock (bool forceStdClock)
 コンストラクタ。 [詳解]
 
value_type get () const
 現在のクロックカウント値を取得する。 [詳解]
 
bool tryGet (value_type &result) const
 現在のクロックカウント値を取得する。 [詳解]
 
value_type getCountPerSecond () const
 1秒あたりのクロックカウント数を取得する。 [詳解]
 
int compareSpan (value_type prevCount, const TimeSpan &span) const
 クロックカウントの現在値と前回値との時間差分を TimeSpan 値と比較する。 [詳解]
 
int compareSpan (value_type currentCount, value_type prevCount, const TimeSpan &span) const
 クロックカウントの現在値と前回値との時間差分を TimeSpan 値と比較する。 [詳解]
 
TimeSpan calcSpan (value_type prevCount) const
 クロックカウントの現在値と前回値との時間差分値を算出する。 [詳解]
 
TimeSpan calcSpan (value_type currentCount, value_type prevCount) const
 クロックカウントの現在値と前回値との時間差分値を算出する。 [詳解]
 
bool tryCalcSpan (value_type prevCount, TimeSpan &result) const
 クロックカウントの現在値と前回値との時間差分値を算出する。 [詳解]
 
bool tryCalcSpan (value_type currentCount, value_type prevCount, TimeSpan &result) const
 クロックカウントの現在値と前回値との時間差分値を算出する。 [詳解]
 

詳解

クロックカウント値とその時間差分計算処理を提供するクラス。

型定義メンバ詳解

typedef std::int64_t amdaemon::util::Clock::value_type

内部値の表現型。

構築子と解体子

amdaemon::util::Clock::Clock ( )

コンストラクタ。

Windows環境である場合、高分解能パフォーマンスカウンタが用いられる。

amdaemon::util::Clock::Clock ( bool  forceStdClock)
explicit

コンストラクタ。

引数
[in]forceStdClock必ず標準関数 std::clock を用いるならば true 。

Windows環境かつ引数 forceStdClock に false を指定した場合、 高分解能パフォーマンスカウンタが用いられる。

関数詳解

value_type amdaemon::util::Clock::get ( ) const

現在のクロックカウント値を取得する。

戻り値
現在のクロックカウント値。
例外
Exception取得処理に失敗した場合。通常、失敗することはない。
bool amdaemon::util::Clock::tryGet ( value_type &  result) const

現在のクロックカウント値を取得する。

引数
[out]result現在のクロックカウント値の設定先。
戻り値
true取得処理に成功した場合。
false取得処理に失敗した場合。

通常、メンバ関数 get が失敗することはないため、敢えてこの関数を使う必要はない。

value_type amdaemon::util::Clock::getCountPerSecond ( ) const
inline

1秒あたりのクロックカウント数を取得する。

戻り値
1秒あたりのクロックカウント数。
int amdaemon::util::Clock::compareSpan ( value_type  prevCount,
const TimeSpan &  span 
) const

クロックカウントの現在値と前回値との時間差分を TimeSpan 値と比較する。

引数
[in]prevCountクロックカウントの前回値。
[in]span比較対象の TimeSpan 値。
戻り値
-1TimeSpan 値の方が大きい場合。
0TimeSpan 値と等しい場合。
+1TimeSpan 値の方が小さい場合。
例外
Exception現在値の取得処理に失敗した場合。通常、失敗することはない。

現在値はメンバ関数 get によって取得される。

現在値と前回値との時間差分が TimeSpan 値として表せない範囲であっても大小比較することができる。

int amdaemon::util::Clock::compareSpan ( value_type  currentCount,
value_type  prevCount,
const TimeSpan &  span 
) const

クロックカウントの現在値と前回値との時間差分を TimeSpan 値と比較する。

引数
[in]currentCountクロックカウントの現在値。
[in]prevCountクロックカウントの前回値。
[in]span比較対象の TimeSpan 値。
戻り値
-1TimeSpan 値の方が大きい場合。
0TimeSpan 値と等しい場合。
+1TimeSpan 値の方が小さい場合。

現在値と前回値との時間差分が TimeSpan 値として表せない範囲であっても大小比較することができる。

TimeSpan amdaemon::util::Clock::calcSpan ( value_type  prevCount) const

クロックカウントの現在値と前回値との時間差分値を算出する。

引数
[in]prevCountクロックカウントの前回値。
戻り値
時間差分値。
例外
Exception
  • 現在値の取得処理に失敗した場合。通常、失敗することはない。
  • 時間差分値に変換した値が表現可能範囲に収まらない場合。

他の TimeSpan 値との比較を行いたいだけの場合、メンバ関数 compareSpan(value_type, const TimeSpan&) const の利用を推奨する。

現在値はメンバ関数 get によって取得される。

Windows環境で高分解能パフォーマンスカウンタを用いている場合、 環境によっては31日強の差分で表現可能な上限値に達する。

TimeSpan amdaemon::util::Clock::calcSpan ( value_type  currentCount,
value_type  prevCount 
) const

クロックカウントの現在値と前回値との時間差分値を算出する。

引数
[in]currentCountクロックカウントの現在値。
[in]prevCountクロックカウントの前回値。
戻り値
時間差分値。
例外
Exception時間差分値に変換した値が表現可能範囲に収まらない場合。

他の TimeSpan 値との比較を行いたいだけの場合、メンバ関数 compareSpan(value_type, value_type, const TimeSpan&) const の利用を推奨する。

Windows環境で高分解能パフォーマンスカウンタを用いている場合、 環境によっては31日強の差分で表現可能な上限値に達する。

bool amdaemon::util::Clock::tryCalcSpan ( value_type  prevCount,
TimeSpan &  result 
) const

クロックカウントの現在値と前回値との時間差分値を算出する。

引数
[in]prevCountクロックカウントの前回値。
[out]result時間差分値の設定先。
戻り値
true算出に成功した場合。
false時間差分値に変換した値が表現可能範囲に収まらない場合。

他の TimeSpan 値との比較を行いたいだけの場合、メンバ関数 compareSpan(value_type, const TimeSpan&) const の利用を推奨する。

現在値はメンバ関数 tryGet によって取得される。

Windows環境で高分解能パフォーマンスカウンタを用いている場合、 環境によっては31日強の差分で表現可能な上限値に達する。

bool amdaemon::util::Clock::tryCalcSpan ( value_type  currentCount,
value_type  prevCount,
TimeSpan &  result 
) const

クロックカウントの現在値と前回値との時間差分値を算出する。

引数
[in]currentCountクロックカウントの現在値。
[in]prevCountクロックカウントの前回値。
[out]result時間差分値の設定先。
戻り値
true算出に成功した場合。
false時間差分値に変換した値が表現可能範囲に収まらない場合。

他の TimeSpan 値との比較を行いたいだけの場合、メンバ関数 compareSpan(value_type, value_type, const TimeSpan&) const の利用を推奨する。

Windows環境で高分解能パフォーマンスカウンタを用いている場合、 環境によっては31日強の差分で表現可能な上限値に達する。


このクラス詳解は次のファイルから抽出されました: