View source code
Display the source code in std/datetime/stopwatch.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function std.datetime.stopwatch.StopWatch.this

Constructs a StopWatch. Whether it starts immediately depends on the AutoStart argument.

ref this (
  Flag!("autoStart") autostart
) nothrow @nogc @safe;

If StopWatch.init is used, then the constructed StopWatch isn't running (and can't be, since no constructor ran).

Example

import core.thread : Thread;

{
    auto sw = StopWatch(AutoStart.yes);
    assert(sw.running);
    Thread.sleep(usecs(1));
    assert(sw.peek() > Duration.zero);
}
{
    auto sw = StopWatch(AutoStart.no);
    assert(!sw.running);
    Thread.sleep(usecs(1));
    writeln(sw.peek()); // Duration.zero
}
{
    StopWatch sw;
    assert(!sw.running);
    Thread.sleep(usecs(1));
    writeln(sw.peek()); // Duration.zero
}

writeln(StopWatch.init); // StopWatch(AutoStart.no)
assert(StopWatch.init != StopWatch(AutoStart.yes));

Authors

Jonathan M Davis and Kato Shoichi

License

Boost License 1.0.