- assert(count != -2);
- count = MYMAX(count, 0) + 1;
- m_data[name] += value;
- }
-
- void clear()
- {
- MutexAutoLock lock(m_mutex);
- for(std::map<std::string, float>::iterator
- i = m_data.begin();
- i != m_data.end(); ++i)
- {
- i->second = 0;
- }
- m_avgcounts.clear();
- }
-
- void print(std::ostream &o)
- {
- printPage(o, 1, 1);
- }
-
- float getValue(const std::string &name) const
- {
- std::map<std::string, float>::const_iterator numerator = m_data.find(name);
- if (numerator == m_data.end())
- return 0.f;
-
- std::map<std::string, int>::const_iterator denominator = m_avgcounts.find(name);
- if (denominator != m_avgcounts.end()){
- if (denominator->second >= 1)
- return numerator->second / denominator->second;
- }
-
- return numerator->second;
- }
-
- void printPage(std::ostream &o, u32 page, u32 pagecount)
- {
- MutexAutoLock lock(m_mutex);