wxWidgets: wxStopWatch Class Reference

| Version: 3.0.5

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
wxStopWatch Class Reference
Class List by Category » Miscellaneous

`#include <wx/stopwatch.h>`

## Detailed Description

The wxStopWatch class allow you to measure time intervals.

For example, you may use it to measure the time elapsed by some function:

wxStopWatch sw;
CallLongRunningFunction();
wxLogMessage("The long running function took %ldms to execute",
sw.Time());
sw.Pause();
... stopwatch is stopped now ...
sw.Resume();
CallLongRunningFunction();
wxLogMessage("And calling it twice took $ldms in all", sw.Time());

Since wxWidgets 2.9.3 this class uses `QueryPerformanceCounter()` function under MSW to measure the elapsed time. It provides higher precision than the usual timer functions but can suffer from bugs in its implementation in some Windows XP versions. If you encounter such problems, installing a Microsoft hot fix from http://support.microsoft.com/?id=896256 could be necessary.

##

Library: wxBase
Category: Miscellaneous

See also
  wxTimer

## Public Member Functions
| wxStopWatch ()
| Constructor. More...
void | Pause ()
| Pauses the stop watch. More...
void | Resume ()
| Resumes the stop watch which had been paused with Pause(). More...
void | Start (long milliseconds=0)
| (Re)starts the stop watch with a given initial value. More...
long | Time () const
| Returns the time in milliseconds since the start (or restart) or the last call of Pause(). More...
wxLongLong | TimeInMicro () const
| Returns elapsed time in microseconds. More...

## Constructor & Destructor Documentation

wxStopWatch::wxStopWatch | ( |  | ) |

Constructor.

This starts the stop watch.

## Member Function Documentation

void wxStopWatch::Pause | ( |  | ) |

Pauses the stop watch.

Call Resume() to resume time measuring again.

If this method is called several times, `Resume()` must be called the same number of times to really resume the stop watch. You may, however, call Start() to resume it unconditionally.

void wxStopWatch::Resume | ( |  | ) |

Resumes the stop watch which had been paused with Pause().

void wxStopWatch::Start | ( | long | milliseconds = `0` | ) |

(Re)starts the stop watch with a given initial value.

The stopwatch will always be running after calling Start(), even if Pause() had been called before and even if it had been called multiple times.

long wxStopWatch::Time | ( |  | ) | const

Returns the time in milliseconds since the start (or restart) or the last call of Pause().

See also
  TimeInMicro()

wxLongLong wxStopWatch::TimeInMicro | ( |  | ) | const

Returns elapsed time in microseconds.

This method is similar to Time() but returns the elapsed time in microseconds and not milliseconds. Notice that not all platforms really can measure times with this precision.

Since
  2.9.3