#include "storage.h" #include "definitions.h" #include std::vector> Storage::view(int base, int lines) { base = (base / LINE_SIZE) * LINE_SIZE; std::vector> ret(lines + 1); std::copy( this->data->begin() + base, this->data->begin() + base + lines, ret.begin()); return ret; } void Storage::do_write(signed data, int address) { int line = address / LINE_SIZE; int word = address % LINE_SIZE; this->data->at(line).at(word) = data; } void Storage::resolve() { if (this->wait_time == 0) { this->deque.pop_front(); this->wait_time = delay; } else { --this->wait_time; } }