Boost logo

Boost :

From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2007-02-16 02:51:48


Hi,

  I did not have a change to participate in a review because I was busy at
the time(as it is usual lately). I did like the submission when it
originally appeared. And now after reading docs some more I could only
congratulate Eric for yet another good addition to the boost.
  Being the author of similar (though obviously not that powerful) component
myself I find two featured omitted. I must admit that I may've easily missed
something. But here we go.

1. accumulator composition

It would be a pity if I need to write new accumulator any time I need to
combine features implemented by two existing one. For example

min/max average value
min/max change rate

2. timing policy.
In many of my real life projects that require some statistical value it
almost always need to be combined with the time of the event. For example

when particular value reached it's maximum?
when particular value reached it's minimum?
when particular value was last changed?

or more specific:

When 10 sec throughput average reached it's maximum?

similar idea could be applied to any statistics that model some extreme
value. IMO framework should support this in a form of timing policy
somewhere.

Another general comment. I personally would find single changing variable
oriented interface more convenient and ore widely applicable (as opposed to
the samples set). Variable could change in many ways (not only addition or
subtraction, and even those could be done more conveniently with operator
overloading). Essentially what I am looking for is something like this:

tracked_var<....> v;

v += 10;

int i = v +1;

v -= 5;

v *= 2;

cout << average( v );
cout << max( v );
cout << min( v );

cout << max( average( v ) ) << " @" min( average( v ) ).time();

Regards,

Gennadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk