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