1 #include "memory_backtrack.hpp" 2 #include <assert.h> 3 main(void)4int 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