#ifndef PRECISIONEVALUATOR_H #define PRECISIONEVALUATOR_H #include using microsec = sf::Int64; template class PrecisionEvaluator { public: PrecisionEvaluator(microsec offset, microsec life_span_offset); microsec offset() const noexcept; bool isActive(microsec music_play_offset) const noexcept; GRADE calculatePrecision(microsec odds) const; static void resetPrecisionQualifier(microsec qualifier = 500000); private: microsec _offset; microsec _start_handling_offset; microsec _end_handling_offset; static microsec _precision_qualifier; }; #endif // PRECISIONEVALUATOR_H