blob: 62f3699c975b8f831bc8894f76da87806a9aa4b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "storage.h"
#include "definitions.h"
#include <algorithm>
std::vector<std::array<signed int, LINE_SIZE>>
Storage::view(int base, int lines) const
{
base = (base / LINE_SIZE) * LINE_SIZE;
std::vector<std::array<signed int, LINE_SIZE>> ret(lines + 1);
std::copy(
this->data->begin() + base, this->data->begin() + base + lines,
ret.begin());
return ret;
}
Storage *Storage::get_lower() { return this->lower; }
void Storage::resolve()
{
if (this->wait_time == 0) {
this->requester = IDLE;
this->wait_time = delay;
} else if (this->requester != IDLE && !this->is_waiting) {
--this->wait_time;
}
}
|