voile.time
時間関連のモジュール
tango.
time
.* で補えない部分を補強する
- Ticks 型
- Timer クラス
- strictSleep 関数
- IWaiter インターフェース
- FrequencyWaiter クラス
が利用可能
Date:
December 08, 2008
Author:
P.Knowledge, SHOO
Lisence:
NYSL ( http://www.kmonos.net/nysl/ )
- struct
Ticks
;
- [ticks]型
内部でカウントされる
Ticks
で時間を指定する型。
いつを基準にカウントされているかを考えてはならない。
よって、
Ticks
同士の演算を使用する
- long
value
();
- 内部データの取得
- void
value
(long aTicks);
- 内部データの設定
- static Ticks
opCall
(long ticks_value = cast(long)0);
- Ticks の値から作成
- static Ticks
opCall
(real aSeconds);
- 秒数からTicksを作成
- static Ticks
opCall
(TimeSpan aTimeSpan);
- TimeSpanからTicksを作成
- void
interval
(real aSeconds);
- 秒数からTicksを作成
- real
interval
();
- 秒数が返る
- static ulong
perSeconds
();
- 1秒間で何 Ticks のカウントができるのかを ulong で返す
- Ticks
opAdd
(Ticks a);
Ticks
opAdd
(TimeSpan a);
Ticks*
opAddAssign
(Ticks a);
Ticks*
opAddAssign
(TimeSpan a);
Ticks
opSub
(Ticks a);
Ticks
opSub
(TimeSpan a);
Ticks*
opSubAssign
(Ticks a);
Ticks*
opSubAssign
(TimeSpan a);
Ticks
opMul
(long a);
Ticks*
opMulAssign
(long a);
Ticks
opDiv
(long a);
Ticks*
opDivAssign
(long a);
real
opDiv
(Ticks a);
real
opDiv
(TimeSpan a);
- 演算子オーバーロード
- Ticks
opNeg
();
- - 演算子オーバーロード
- int
opCmp
(Ticks t);
- <, > 演算子オーバーロード
- int
opEquals
(Ticks t);
- == 演算子オーバーロード
- void
span
(TimeSpan aTimeSpan);
- 秒数から Ticks に変換する
- TimeSpan
span
();
- 秒数へ変換する
- Ticks
systemTime
();
- システム時間を取得する
- Ticks
applicationTime
();
- アプリケーション時間を取得する
- class
Timer
;
- タイマー型
タイマー型。
時間を計測したりすることができる。
- this();
- コンストラクタ
普通にコンストラクタ。
オブジェクト時間に現在時刻を設定して、あとは普通。
- final void
initialize
();
- ベース時間をリセット
オブジェクトを生成したての状態にする。
ただし、計測はストップせずにそのまま続行する。
- final Ticks
objectTime
();
- オブジェクト時間の取得
タイマーオブジェクトのコンストラクタが呼ばれた時間からの経過時間を返しま
す。
Returns:
時間
- final void
reset
();
- ストップウォッチリセット
ストップウォッチをリセットして、時間を計りなおします。
オブジェクトの生成時の時間やアプリケーション初期化時の時間はリセットされ
ません。
- final void
start
();
- 時間計測をスタートする
スタートした時間を記録し、時間を計測し始め、状態を計測中にする。
現在計測中であれば、その状態を維持する。
この場合時間のリセットなどは行わず、オブジェクトの内容は変更されない。
- final void
stop
();
- 時間計測をストップする
現在計測中であれば計測をやめる。
今回の計測で得られた実計測時間を前回の計測時間に加算する。
現在ストップした状態であれば、その状態を維持し、オブジェクトの内容は変更
されない。
- final Ticks
peek
();
- 現在の計測時間を取得する。
計測中なら、前回までの計測時間の累積と今回の現時点での計測時間の和、
計測中でないなら、前回までの計測時間の累積を返す。
Returns:
時間
- void
strictSleep
(Ticks aTime);
- 厳密に時間消費を行うスリープ関数
Params:
- void
strictSleep
(TimeSpan aTimeSpan);
- 厳密に時間消費を行うスリープ関数
Params:
TimeSpan aTimeSpan |
TimeSpan を指定する。 |
- void
strictSleep
(real aInterval);
- 厳密に時間消費を行うスリープ関数
Params:
- abstract interface
IWaiter
;
- Waiterインターフェース
何かしらの特性をもってプログラムの待機をはさむ場合はこのインターフェースが
利用できる。
たとえば、 FPS を保つためには FrequencyWaiter などがある。
- class
FrequencyWaiter
: voile.time.IWaiter;
- 周波数ごとに待機する特性をもったWaiterクラス
Frame Per Seconds (FPS)などに使用することができる。
コンストラクタを呼び出した後は、必ず frequency() 関数か、 period() 関数に
よって周波数/周期を設定しなければならない。
- final real
frequency
();
- 周波数をHzで取得する
property getter
wait() が呼び出されてから次の wait() が呼び出されるまでにかかる周期の
逆数である周波数が何Hzかを取得する。
- final void
frequency
(real aFrequency);
- 周波数をHzで指定する
property setter
wait() が呼び出されてから次の wait() が呼び出されるまでにかかる周期の
逆数である周波数が何Hzかを設定する。
- final TimeSpan
period
();
- 設定された周期を得る
property getter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低どの程度かか
るかを設定する。
- final void
period
(TimeSpan aPeriod);
- 周期を指定する
property setter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低どの程度かか
るかを設定する。
- final Ticks
ticks
();
- 設定された周期を得る
property getter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低どの程度かか
るかを取得する。
- final void
ticks
(Ticks aPeriod);
- 周期を指定する
property setter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低どの程度かか
るかを取得する。
- final real
interval
();
- 設定された周期を秒数で得る
property getter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低どの程度かか
るかを取得する。
- final void
interval
(real aInterval);
- 周期を秒数で指定する
property setter
wait() が呼び出されてから次の wait() が呼び出されるまでに最低何秒かかる
かを設定する。
- final real
lastInteravl
();
- 最後に待った際の実際の周期を得る
wait() を呼び出した後に呼び出される。
wait() は呼び出されるのが一定周期より早く呼び出さなければならない。
遅れて呼び出された場合は、待ち時間なく処理されるが、ここで実際の周期とは
異なる周期となる。
この関数は実際の周期として前々回の wait() が呼び出されてから前回の wait()
が呼び出されるまでの時間を周期として返す。
- final TimeSpan
lastPeriod
();
- 最後に待った際の実際の周期を得る
wait() を呼び出した後に呼び出される。
wait() は呼び出されるのが一定周期より早く呼び出さなければならない。
遅れて呼び出された場合は、待ち時間なく処理されるが、ここで実際の周期とは
異なる周期となる。
この関数は実際の周期として前々回の wait() が呼び出されてから前回の wait()
が呼び出されるまでの時間を周期として返す。
- final real
lastFrequency
();
- 最後に待った際の実際の周期を得る
wait() を呼び出した後に呼び出される。
wait() は呼び出されるのが一定周期より早く呼び出さなければならない。
遅れて呼び出された場合は、待ち時間なく処理されるが、ここで実際の周期とは
異なる周期となる。
この関数は実際の周期として前々回の wait() が呼び出されてから前回の wait()
が呼び出されるまでの時間を周期とし、この逆数である周波数を返す。
- final void
wait
();
- ストップして待つ
設定された周期が終了するまで待機する。
wait
() は呼び出されるのが一定周期より早く呼び出さなければならない。
遅れて呼び出された場合は、待ち時間なく処理されるが、ここで実際の周期とは
異なる周期となる。
|