datetime review part 2 [Update 5]
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Fri Nov 19 04:00:33 PST 2010
On Fri, 19 Nov 2010 14:56:30 +0300, Dmitry Olshansky wrote:
> 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.
I don't think there is much he can do about it, it's a bug in the
compiler:
http://d.puremagic.com/issues/show_bug.cgi?id=4107
-Lars
More information about the Digitalmars-d
mailing list