Recientemente he descubierto los excelentes acumuladores de Library :: accumulators, y me gustaría utilizarlo para reemplazar parte de mi código que acumula estadísticas.Sumando dos impulso :: instancias accumulator_set
Una cosa que no puedo encontrar en la documentación es la capacidad de resumir dos conjuntos de acumuladores, como en el operador + =
Ejemplo:
using namespace boost::accumulators;
typedef accumulator_set<double, features<tag::variance> > AccumSet;
class Foo {
AccumSet acc;
public:
Foo& operator+=(const Foo& that) {
this->acc += that.acc; // error! no such operator
return *this;
}
double GetVariance() { return variance(acc); }
};
¿Cómo puedo lograr esto mediante la API disponible? No sé si esto se puede implementar para todos los tipos de acumuladores en la biblioteca (tal vez no para cola), pero seguro puede ser para cosas importantes, como contar, sumar, media, momento, covarianza, etc.
También se olvida de 'devolver * esto;', aunque esto no está relacionado. – Matt
@Matt, junto al punto, pero aún vale la pena arreglarlo ... – killogre