1 #include "memory_backtrack.hpp"
2 #include <assert.h>
3 
main(void)4 int main(void)
5 {
6     MemoryBacktracker mb;
7     Reverting<int> i = mb.makeReverting<int>();
8 
9     i.set(1);
10     assert(i.get() == 1);
11     mb.pushWorld();
12     assert(i.get() == 1);
13     i.set(2);
14     assert(i.get() == 2);
15     i.set(-1);
16     assert(i.get() == -1);
17     mb.pushWorld();
18     i.set(3);
19     assert(i.get() == 3);
20     i.set(4);
21     assert(i.get() == 4);
22     mb.popWorld();
23     assert(i.get() == -1);
24     mb.popWorld();
25     assert(i.get() == 1);
26 }
27