/* * © Copyright 2014 – Urheberrechtshinweis * Alle Rechte vorbehalten / All Rights Reserved * * Programmcode ist urheberrechtlich geschuetzt. * Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner. * Keine Verwendung ohne explizite Genehmigung. * (vgl. § 106 ff UrhG / § 97 UrhG) */ #ifndef STATS_MAXIMUM_H #define STATS_MAXIMUM_H #include "../../Assertions.h" #include namespace Stats { template class Maximum { private: const Scalar START = std::numeric_limits::lowest(); Scalar curMax; public: /** ctor */ Maximum() : curMax(START) { ; } /** is a valid maximum available? */ inline bool isValid() const { return curMax != START; } /** add a new value */ inline void add(const Scalar val) { if (val > curMax) {curMax = val;} } /** get the current value */ inline Scalar get() const { Assert::notEqual(curMax, START, "add() values first!"); return curMax; } }; } #endif // STATS_MAXIMUM_H