output.hh (7811:a8fc35183c10) output.hh (8296:be7f03723412)
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 17 unchanged lines hidden (view full) ---

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * Authors: Nathan Binkert
29 */
30
31#ifndef __BASE_STATS_OUTPUT_HH__
32#define __BASE_STATS_OUTPUT_HH__
33
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 17 unchanged lines hidden (view full) ---

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * Authors: Nathan Binkert
29 */
30
31#ifndef __BASE_STATS_OUTPUT_HH__
32#define __BASE_STATS_OUTPUT_HH__
33
34#include <list>
34#include <string>
35
35#include <string>
36
36#include "base/stats/visit.hh"
37
38namespace Stats {
39
37namespace Stats {
38
40struct Output : public Visit
39class Info;
40class ScalarInfo;
41class VectorInfo;
42class DistInfo;
43class VectorDistInfo;
44class Vector2dInfo;
45class FormulaInfo;
46
47struct Output
41{
48{
42 inline void operator()() { output(); }
43 virtual void output() = 0;
49 virtual void begin() = 0;
50 virtual void end() = 0;
44 virtual bool valid() const = 0;
51 virtual bool valid() const = 0;
52
53 virtual void visit(const ScalarInfo &info) = 0;
54 virtual void visit(const VectorInfo &info) = 0;
55 virtual void visit(const DistInfo &info) = 0;
56 virtual void visit(const VectorDistInfo &info) = 0;
57 virtual void visit(const Vector2dInfo &info) = 0;
58 virtual void visit(const FormulaInfo &info) = 0;
45};
46
47} // namespace Stats
48
49#endif // __BASE_STATS_OUTPUT_HH__
59};
60
61} // namespace Stats
62
63#endif // __BASE_STATS_OUTPUT_HH__