library accumulator, example sum_accumulator

Hi all,
i ' ve written a piece of code to get the class sum_accumulator working
which is described in the user's guide
http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/accumulators....
The function result must be provided with a struct dont_care.
And the constructor of dont_care must be provided with a value to get an
instanciation.
In my opinion a default constructor taking no arguments for the struct
dont_care must exists so the user can write code like dont_care().
To get the example working i must write code like
sumacc.result(*dont_care(0.0)*) to get the result from my accumulator.
And this is a little bit unnecessary.
with regards,
Kim Tang
the code below is tested with visual studio 2008.
#include <iostream>
#include

Kim Kuen Tang wrote:
Hi all,
i ' ve written a piece of code to get the class sum_accumulator working which is described in the user's guide http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/accumulators....
The function result must be provided with a struct dont_care. And the constructor of dont_care must be provided with a value to get an instanciation. In my opinion a default constructor taking no arguments for the struct dont_care must exists so the user can write code like dont_care().
To get the example working i must write code like sumacc.result(*dont_care(0.0)*) to get the result from my accumulator. And this is a little bit unnecessary. <snip>
The interface you're describing is an internal interface, consumed by the accumulator_set<>. End-user code should never be directly calling the result() member function of an accumulator implementation. Accumulators are not supposed to be used stand-alone ... only as part of an accumulator_set<>. HTH, -- Eric Niebler BoostPro Computing http://www.boostpro.com

Hi Eric, thank you for your reply. After studying the interface i see that this is an internal interface. And this interface should be used internally. The reason why i ask is that i want to implement an general static class in QuantLib, which should accumulate an vector, valarray or scoped_array. I noticed that the class accumulator_set<> can not take a vector as sample. Is this true? And do you plan to extend it to accumulate vector? with regards, Kim Tang Eric Niebler schrieb:
Kim Kuen Tang wrote:
Hi all,
i ' ve written a piece of code to get the class sum_accumulator working which is described in the user's guide http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/accumulators....
The function result must be provided with a struct dont_care. And the constructor of dont_care must be provided with a value to get an instanciation. In my opinion a default constructor taking no arguments for the struct dont_care must exists so the user can write code like dont_care().
To get the example working i must write code like sumacc.result(*dont_care(0.0)*) to get the result from my accumulator. And this is a little bit unnecessary. <snip>
The interface you're describing is an internal interface, consumed by the accumulator_set<>. End-user code should never be directly calling the result() member function of an accumulator implementation. Accumulators are not supposed to be used stand-alone ... only as part of an accumulator_set<>.
HTH,

Kim Kuen Tang wrote:
I noticed that the class accumulator_set<> can not take a vector as sample. Is this true?
It's not true. But you must #include
participants (2)
-
Eric Niebler
-
Kim Kuen Tang