Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWTimer

バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.

## RWTimer

### 形式

      #include <rw/timer.h>
      RWTimer timer;

### 説明

  このクラスは、CPU 経過時間 (ユーザー使用分) を測定できるクラスです。タイマーには、実行中と休止中の 2 つの状態があります。タイマーは、作成またはリセットした後、"実行" 状態にある時間の合計を測定します。

  タイマーは、メンバー関数 `start()` を呼び出して "実行" 状態に入り、`stop()` を呼び出して "休止" 状態に入ります。RWTimer はシステムに依存する関数 `clock()` を使用します。この関数は初めて呼び出されたときからの "ティック" 数を返します。この結果 RWTimer は、システムに依存する特定の値より長い間隔を計測できません。(たとえば、いくつかの UNIX システムでは、この値は 36 分よりやや少ない値です。)

### 接続性

  なし

### 例

  次の例は、5 秒間ループしている間 (クラス RWTime で測定) の CPU 使用時間の合計を出力するものです。

      #include <rw/timer.h>
      #include <rw/rwtime.h>
      #include <rw/rstream.h>

      main()
      {RWTimer t;
       t.start();                 // タイマーを開始する

       RWTime start;
       start.now();               // 開始時刻を記録する

       // 5 秒間ループする
       for (RWTime current; current.seconds() - start.seconds() < 5;
            current = RWTime::now())
       {;}

       t.stop();                  // タイマーを停止する

       cout << t.elapsedTime() << endl;
       return 0;
      }

  #### プログラム出力 (正確な時間とは異なるかもしれない):

      5.054945

### 公開コンストラクタ

      RWTimer();

    新しいタイマーを作成します。タイマーは、`start()` を呼び出すまで開始しません。

### 公開メンバー関数

      double
      elapsedTime() const;

    タイマーが実行状態にある間、累積された (CPU) 時間の合計を返します。

      void
      reset();

    タイマーをリセット (および休止) します。

      void
      start();

    タイマーを "実行" 状態に設定します。実行状態にある間、時間が累積されます。

      void
      stop();

    タイマーを "休止" 状態に設定します。この状態にある間、時間は累積されません。