00001
#ifndef STATISTICS_H
00002
#define STATISTICS_H
00003
00004
#include <string>
00005
#include <vector>
00006
#include <iostream>
00007
#include "TSStats.h"
00008
00009 typedef string
StatisticsName;
00010
00011
00016 class Statistics :
public map<StatisticsName, TSStats>
00017 {
00018
public:
00019 typedef enum
00020 {
00021
STATISTICS_NAME_NOT_FOUND,
00022 } Error;
00023
00024
00030
00031
00032
00038
TSStats &
getTSStats( StatisticsName name );
00039
00045
bool hasTSStats( StatisticsName name );
00046
00047
00055
const FixLenTimeSeries &
getStatistics( StatisticsName name,
00056
IDType id
00057 )
const
00058
throw( Error, TSStats::Error );
00059
00067
FixLenTimeSeries &
getStatistics( StatisticsName name,
IDType id )
00068
throw( Error, TSStats::Error );
00069
00073
Statistics copy();
00074
00086
TSStats copyTSStats( StatisticsName name,
00087 int32 window_size = 0,
00088
TimeSec precision = 0,
00089
TimeStamp time_stamp = 0
00090 )
00091
throw( Error );
00092
00108
TSStats copyTSStats( StatisticsName name,
00109
IDVect ids,
00110 int32 window_size = 0,
00111
TimeSec precision = 0,
00112
TimeStamp time_stamp = 0
00113 )
00114
throw( Error );
00115
00116
00132
FixLenTimeSeries copyStatistics(
00133 StatisticsName name,
00134
IDType id,
00135 int32 window_size = 0,
00136
TimeSec precision = 0,
00137
TimeStamp time_stamp = 0
00138 )
00139
throw( Error );
00140
00145
void outputStatisticsNames( ostream &os );
00146
00147
00153
friend ostream &
operator<< ( ostream &os,
const Statistics &stats );
00154 };
00155
00156
#endif // STATISTICS_H