Program Listing for File time_data.hpp
↰ Return to documentation for file (include/ecl/time/time_data.hpp
)
/*****************************************************************************
** Ifdefs
*****************************************************************************/
#ifndef ELC_TIME_TIME_DATA_HPP_
#define ELC_TIME_TIME_DATA_HPP_
/*****************************************************************************
** Includes
*****************************************************************************/
#include <vector>
#include <ecl/config/macros.hpp>
#include "duration.hpp"
#include "macros.hpp"
/*****************************************************************************
** Namespaces
*****************************************************************************/
namespace ecl {
/*****************************************************************************
** Interface [TimeData]
*****************************************************************************/
class ecl_time_PUBLIC TimeData {
public:
/*********************
** Collection
**********************/
void push_back(const ecl::Duration& duration ) { durations.push_back(duration); }
void clear() { durations.clear(); }
/*********************
** Statistics
**********************/
ecl::Duration average() const;
ecl::Duration stdDev() const;
ecl::Duration variance() const;
private:
std::vector<ecl::Duration> durations;
};
} // namespace ecl
#endif /* ELC_TIME_TIME_DATA_HPP_ */