diff options
| author | Gloria Mundi <gloria@gloria-mundi.eu> | 2024-03-15 01:48:00 +0100 |
|---|---|---|
| committer | Gloria Mundi <gloria@gloria-mundi.eu> | 2024-03-15 01:48:00 +0100 |
| commit | e9958381801bf44fd0635aaa1e68541b21e193e0 (patch) | |
| tree | e463b44786fc02e332e4cc205654858f95820105 /datastructures | |
| parent | 7e24d9d392aff890981f13c299b283189d94a75d (diff) | |
fix persistent and add test
Diffstat (limited to 'datastructures')
| -rw-r--r-- | datastructures/persistent.cpp | 2 | ||||
| -rw-r--r-- | datastructures/test/persistent.cpp | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/datastructures/persistent.cpp b/datastructures/persistent.cpp index 0a65a79..4093cdc 100644 --- a/datastructures/persistent.cpp +++ b/datastructures/persistent.cpp @@ -7,7 +7,7 @@ struct persistent { : time(time), data(1, {time, value}) {}
T get(int t) {
- return prev(upper_bound(all(data), {t+1, {}}))->second;
+ return prev(upper_bound(all(data), pair{t+1, T{}}))->second;
}
int set(T value) {
diff --git a/datastructures/test/persistent.cpp b/datastructures/test/persistent.cpp new file mode 100644 index 0000000..d98569b --- /dev/null +++ b/datastructures/test/persistent.cpp @@ -0,0 +1,10 @@ +#include "../persistent.cpp" + +int main() { + int time = 0; + persistent<int> p(time, 0); + p.set(1); + int t1 = time; + p.set(2); + assert(p.get(t1) == 1); +} |
