On 19.11.2010 8:10, Jonathan M Davis wrote:
Most Recent: http://is.gd/hovyR
Other than some minor documentation changes, all of the changes are to the
implementation rather than the API, though those changes are fairly minimal as
well (albeit important).
I fixed it so that the stopwatch code uses a monotonic clock on both Windows and
Linux (at least, it will once clock_gettime() is fully in druntime rather than
commented out) and so that getting the current time doesn't use a monotonic
clock (before Linux was using a normal or real time clock for both whereas
Windows was using a monotonic clock for both). I also consolidated some of the
code in static ifs to minimize code duplication.
As a reminder, if you want to use the code on Windows, you need to link with
advapi32.lib.
- Jonathan M Davis
Great!
Have you found a way to deal with high redundancy in API docs?
For instance in PosInfInterval (and in the others, most likely):
template expand(D) if (__traits(compiles,begin + duration))
Expands the interval backwards in time. Effectively, it does begin -=
duration.
Parameters:
duration The duration to expand the interval by.
dir The direction in time to expand the interval.
Examples:
[snip]
nothrow void expand(D duration);
Expands the interval backwards in time. Effectively, it does begin
-= duration.
...[exactly the same as above with examples ]..
This appears to plague all the templated in such a way methods of all
Interval structs.
Also, as I said before, summary table with common methods won't hurt.
In fact it would show the implicit interface - what TP provides, most
Intervals provide.
As to my suggested API changes, now I have a better plan for more
generic and easy to use API wrt ranges, just need some time to
experiment and write it down.
--
Dmitry Olshansky