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 "sim/sim_object.hh"
|
||||
#include "base/callback.hh"
|
||||
#include "base/inifile.hh"
|
||||
#include "sim/configfile.hh"
|
||||
#include "sim/host.hh"
|
||||
#include "base/misc.hh"
|
||||
#include "base/trace.hh"
|
||||
#include "sim/configfile.hh"
|
||||
#include "sim/host.hh"
|
||||
#include "sim/sim_object.hh"
|
||||
#include "sim/sim_stats.hh"
|
||||
|
||||
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
|
||||
//
|
||||
|
@ -109,6 +125,14 @@ SimObject::regAllStats()
|
|||
}
|
||||
}
|
||||
|
||||
//
|
||||
// static function: call resetStats() on all SimObjects.
|
||||
//
|
||||
void
|
||||
SimObject::resetAllStats()
|
||||
{
|
||||
}
|
||||
|
||||
//
|
||||
// static function: call printExtraOutput() on all SimObjects.
|
||||
//
|
||||
|
|
|
@ -68,6 +68,7 @@ class SimObject : public Serializeable
|
|||
// register statistics for this object
|
||||
virtual void regStats();
|
||||
virtual void regFormulas();
|
||||
virtual void resetStats();
|
||||
|
||||
// print extra results for this object not covered by registered
|
||||
// statistics (called at end of simulation)
|
||||
|
@ -76,6 +77,9 @@ class SimObject : public Serializeable
|
|||
// static: call reg_stats on all SimObjects
|
||||
static void regAllStats();
|
||||
|
||||
// static: call resetStats on all SimObjects
|
||||
static void resetAllStats();
|
||||
|
||||
// static: call printExtraOutput on all SimObjects
|
||||
static void printAllExtraOutput(std::ostream&);
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue