void add(DataIterator begin, DataIterator end);
void addSequence(DataIterator begin, DataIterator end) { for (;begin!=end;begin++) add(*begin); }
QL_BEGIN_NAMESPACE(QuantLib)class Statistics {  public:    Statistics();    virtual ~Statistics();    // Accessors    int samples() const;    double mean() const;    // Variance, uses N-1 divisor    double variance() const;    // Standard deviation, uses N-1 divisor    double stdDev() const;    // Skew (Excel definition).  Zero for normal distribution.    double skew() const;    // Excess kurtosis (Excel definition). Zero for normal distribution.    double excessKurtosis() const;    // Minimum sample value    double min() const;    // Maximum sample value    double max() const;    // Modifiers    void add(double value, double weight = 1.0);    template <class DataIterator>    void add(DataIterator begin, DataIterator end);    template <class DataIterator, class WeightIterator>    void add(DataIterator begin, DataIterator end, WeightIterator wbegin);  private:    int theSampleNumber;    double theSampleWeight;    double theSum, theQuadraticSum, theCubicSum, theFourthPowerSum;    double theMin, theMax;};