#include #include #include "Cache.h" #include "CacheFactory.h" using namespace std; void outputStats(const Cache &c) { Cache::counter_t hits = c.getHits(); Cache::counter_t misses = c.getMisses(); Cache::counter_t missesWB = c.getMissesWB(); cout << hits << " " << misses << " " << missesWB << endl; } int main() { string s; getline(cin, s); Cache *c = CacheFactory::createCache(s); char mode; Cache::addr_t address; while (cin >> mode >> address) { if (mode == 'r') { c->read(address); } else if (mode == 'w') { c->write(address); } outputStats(*c); } c->flush(); outputStats(*c); delete c; return 0; }