#ifndef STATS_MINIMUM_H #define STATS_MINIMUM_H #include namespace Stats { template class Minimum { private: const Scalar START = std::numeric_limits::max(); Scalar curMin; public: /** ctor */ Minimum() : curMin(START) { ; } /** is a valid minimum available? */ inline bool isValid() const { return curMin != START; } /** add a new value */ void add(const Scalar val) { if (val < curMin) {curMin = val;} } /** get the current value */ Scalar get() const { Assert::notEqual(curMin, START, "add() values first!"); return curMin; } }; } #endif // STATS_MINIMUM_H