summaryrefslogtreecommitdiff
path: root/src/base/stats/output.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/stats/output.hh')
-rw-r--r--src/base/stats/output.hh24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/base/stats/output.hh b/src/base/stats/output.hh
index 0f485dee3..d45e32f77 100644
--- a/src/base/stats/output.hh
+++ b/src/base/stats/output.hh
@@ -31,17 +31,31 @@
#ifndef __BASE_STATS_OUTPUT_HH__
#define __BASE_STATS_OUTPUT_HH__
+#include <list>
#include <string>
-#include "base/stats/visit.hh"
-
namespace Stats {
-struct Output : public Visit
+class Info;
+class ScalarInfo;
+class VectorInfo;
+class DistInfo;
+class VectorDistInfo;
+class Vector2dInfo;
+class FormulaInfo;
+
+struct Output
{
- inline void operator()() { output(); }
- virtual void output() = 0;
+ virtual void begin() = 0;
+ virtual void end() = 0;
virtual bool valid() const = 0;
+
+ virtual void visit(const ScalarInfo &info) = 0;
+ virtual void visit(const VectorInfo &info) = 0;
+ virtual void visit(const DistInfo &info) = 0;
+ virtual void visit(const VectorDistInfo &info) = 0;
+ virtual void visit(const Vector2dInfo &info) = 0;
+ virtual void visit(const FormulaInfo &info) = 0;
};
} // namespace Stats