/*++ Copyright (c) 2011 Microsoft Corporation Module Name: statistics.h Abstract: Wrapper for reporting statistics Author: Leonardo (leonardo) 2011-05-17 Notes: --*/ #ifndef _STATISTICS_H_ #define _STATISTICS_H_ #include #include"vector.h" class statistics { typedef std::pair key_val_pair; svector m_stats; typedef std::pair key_d_val_pair; svector m_d_stats; public: void copy(statistics const & st); void reset(); void update(char const * key, unsigned inc); void update(char const * key, double inc); void display(std::ostream & out) const; void display_smt2(std::ostream & out) const; void display_internal(std::ostream & out) const; unsigned size() const; bool is_uint(unsigned idx) const; char const * get_key(unsigned idx) const; unsigned get_uint_value(unsigned idx) const; double get_double_value(unsigned idx) const; }; #endif