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:
Ticks aTime Ticks を指定する。

void strictSleep (TimeSpan aTimeSpan);
厳密に時間消費を行うスリープ関数

Params:
TimeSpan aTimeSpan TimeSpan を指定する。

void strictSleep (real aInterval);
厳密に時間消費を行うスリープ関数

Params:
real aInterval 秒数で周期を指定

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 () は呼び出されるのが一定周期より早く呼び出さなければならない。
遅れて呼び出された場合は、待ち時間なく処理されるが、ここで実際の周期とは 異なる周期となる。

Page was generated with on Fri Apr 3 17:07:43 2009