Boost logo

Boost Users :

Subject: Re: [Boost-users] [posix_time] time_duration operator/() overload
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-03-31 17:16:15


----- Original Message -----
From: "Norbert Wenzel" <n_wenzel_at_[hidden]>
To: <boost-users_at_[hidden]>
Sent: Friday, March 05, 2010 9:36 AM
Subject: [Boost-users] [posix_time] time_duration operator/() overload

>
> Hello,
>
> I use boost::posix_time a lot in my code and I really do appreciate the
> library. But there's one thing I was recently missing when comparing
> time_durations to each other.
>
> double time_duration::operator/(time_duration);
>
> From my point of view this is a perfectly valid operation (as opposed
> to operator*(time_duration)) that returns the proportion of the two
> durations. I need that operation to compute statistics like "n% of the
> time I did x" or similar.
>
> What I'm currently doing is computing the proportions via
>
> time_duration::total_*()
>
> which works fine, but leads to some coding effort, since I'll have to
> cast one result to a real number to avoid integer division and some
> checks to prevent /0.
>
> I assume I'm not the first to compare time_durations so I was wondering
> if there was a reason operator/() is not overloaded for time_duration?
> Or if there is generally a better way to compare two durations?

Maybe you are interested by the library on the review schedule Boost.Chrono.

The library can be downloaded from http://www.boostpro.com/vault/index.php?action=downloadfile&filename=chrono.zip&directory=System& and the documentation is online on the sandbox http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/html/index.html.

The library provides the operator/() you are looking for, but on a generic duration type. Please let me know if this responds to your needs or whatever is missing from your point of view.

Best,
Vicente


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net