Add a virtual function resetStats() that any SimObject can inherit
from that will get called any time stats are reset. sim/sim_object.cc: sim/sim_object.hh: add a virtual function resetStats that any simObject can reset when a statistics reset is initiated --HG-- extra : convert_revision : fdad673142f6ff811f84c246d80e5d41e3c9d4d1
This commit is contained in:
parent
9471a4d20f
commit
b064b8a6fd
2 changed files with 31 additions and 3 deletions
|
@ -28,12 +28,13 @@
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include "sim/sim_object.hh"
|
#include "base/callback.hh"
|
||||||
#include "base/inifile.hh"
|
#include "base/inifile.hh"
|
||||||
#include "sim/configfile.hh"
|
|
||||||
#include "sim/host.hh"
|
|
||||||
#include "base/misc.hh"
|
#include "base/misc.hh"
|
||||||
#include "base/trace.hh"
|
#include "base/trace.hh"
|
||||||
|
#include "sim/configfile.hh"
|
||||||
|
#include "sim/host.hh"
|
||||||
|
#include "sim/sim_object.hh"
|
||||||
#include "sim/sim_stats.hh"
|
#include "sim/sim_stats.hh"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
@ -72,6 +73,21 @@ SimObject::regFormulas()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
class __SimObjectResetCB : public Callback
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
__SimObjectResetCB() { Statistics::RegResetCallback(this); }
|
||||||
|
virtual void process() { SimObject::resetAllStats(); }
|
||||||
|
};
|
||||||
|
__SimObjectResetCB __theSimObjectResetCB;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SimObject::resetStats()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// no default extra output
|
// no default extra output
|
||||||
//
|
//
|
||||||
|
@ -109,6 +125,14 @@ SimObject::regAllStats()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// static function: call resetStats() on all SimObjects.
|
||||||
|
//
|
||||||
|
void
|
||||||
|
SimObject::resetAllStats()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// static function: call printExtraOutput() on all SimObjects.
|
// static function: call printExtraOutput() on all SimObjects.
|
||||||
//
|
//
|
||||||
|
|
|
@ -68,6 +68,7 @@ class SimObject : public Serializeable
|
||||||
// register statistics for this object
|
// register statistics for this object
|
||||||
virtual void regStats();
|
virtual void regStats();
|
||||||
virtual void regFormulas();
|
virtual void regFormulas();
|
||||||
|
virtual void resetStats();
|
||||||
|
|
||||||
// print extra results for this object not covered by registered
|
// print extra results for this object not covered by registered
|
||||||
// statistics (called at end of simulation)
|
// statistics (called at end of simulation)
|
||||||
|
@ -76,6 +77,9 @@ class SimObject : public Serializeable
|
||||||
// static: call reg_stats on all SimObjects
|
// static: call reg_stats on all SimObjects
|
||||||
static void regAllStats();
|
static void regAllStats();
|
||||||
|
|
||||||
|
// static: call resetStats on all SimObjects
|
||||||
|
static void resetAllStats();
|
||||||
|
|
||||||
// static: call printExtraOutput on all SimObjects
|
// static: call printExtraOutput on all SimObjects
|
||||||
static void printAllExtraOutput(std::ostream&);
|
static void printAllExtraOutput(std::ostream&);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue