1 #include "memory_backtrack.hpp"
2 #include <assert.h>
3 
main(void)4 int main(void)
5 {
6     MemoryBacktracker mb;
7     RevertingStack<std::pair<int, int> > i = mb.makeRevertingStack<std::pair<int,int> >();
8 
9     assert(i.get().size() == 0);
10 
11     i.push_back(std::make_pair(1,2));
12     assert(i.get().size() == 1);
13     mb.pushWorld();
14     assert(i.get().size() == 1);
15     i.push_back(std::make_pair(2,3));
16     assert(i.get().size() == 2);
17     assert(i.get()[1] == std::make_pair(1,2));
18     assert(i.get()[2] == std::make_pair(2,3));
19     mb.popWorld();
20     assert(i.get().size() == 1);
21     assert(i.get()[1] == std::make_pair(1,2));
22 }
23