/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
android-google-915
base/stats.hpp
54 строки
804 B
Maxim Pimenov
[base] Replaced the namespace my with base.
18 сен 2018, 14:46
18 сен 2018, 14:46
412387c
Код
Авторство
О чём код?
#pragma once #include "base/base.hpp" #include <sstream> #include <string> namespace base { template <typename T> class NoopStats { public: NoopStats() {} void operator() (T const &) {} std::string GetStatsStr() const { return ""; } }; template <typename T> class AverageStats { public: AverageStats() : m_Count(0), m_Sum(0) {} void operator() (T const & x) { ++m_Count; m_Sum += x; } std::string GetStatsStr() const { std::ostringstream out; out << "N: " << m_Count; if (m_Count > 0) out << " Av: " << m_Sum / m_Count; return out.str(); } double GetAverage() const { return m_Count ? m_Sum / m_Count : 0.0; } uint32_t GetCount() const { return m_Count; } private: uint32_t m_Count; double m_Sum; }; } // namespace base