time_series and accumulators integration

It struck me that the circular_buffer would work great as an great underlying container in the boost::accumulators library. It would allow us to create a generic functor such as the following: template <typename Accumulator> struct generic_smoothing_functor { Accumulator accumulator; generic_smoothing_functor(std::size_t periods) : accumulator(periods) {} out operator()(type value, offset start, offset end) { return accumulator(value); } }; typedef generic_smoothing_functor< tag::variance> variance_smoothing_functor; typedef generic_smoothing_functor< tag::momentum> momentum_smoothing_functor; typedef generic_smoothing_functor< tag::simple_moving_average> simple_smoothing_functor; typedef generic_smoothing_functor< tag::rate_of_change> rate_of_change_smoothing_functor; This would be superior to creating a seperate smoothing functor for each of the algorithms in the "accumulators" library.

Tom Brinkman wrote:
It struck me that the circular_buffer would work great as an great underlying container in the boost::accumulators library.
It would allow us to create a generic functor such as the following:
template <typename Accumulator> struct generic_smoothing_functor
<snip> Nice idea. Patches welcome. :-) -- Eric Niebler Boost Consulting www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com
participants (2)
-
Eric Niebler
-
Tom Brinkman