summaryrefslogtreecommitdiff
path: root/datastructures/persistentArray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'datastructures/persistentArray.cpp')
-rw-r--r--datastructures/persistentArray.cpp24
1 files changed, 0 insertions, 24 deletions
diff --git a/datastructures/persistentArray.cpp b/datastructures/persistentArray.cpp
deleted file mode 100644
index 60d8b17..0000000
--- a/datastructures/persistentArray.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-template<typename T>
-struct persistentArray {
- int time;
- vector<persistent<T>> data;
- vector<pair<int, int>> mods;
-
- persistentArray(int n, T value = {})
- : time(0), data(n, {time, value}) {}
-
- T get(int p, int t) {return data[p].get(t);}
-
- int set(int p, T value) {
- mods.push_back({p, time});
- return data[p].set(value);
- }
-
- void reset(int t) {
- while (!mods.empty() && mods.back().second > t) {
- data[mods.back().first].data.pop_back();
- mods.pop_back();
- }
- time = t;
- }
-};