39 using DataSeq = vector<string>;
41 #define TOK(id) id(STRINGIFY(id)) 43 string TOK(a1), TOK(a2), TOK(a3), TOK(a4), TOK(a5);
44 string TOK(b1), TOK(b2), TOK(b3), TOK(b4);
60 return snapshot({del(a1)
99 DataSeq src({a1,a2,a3,a4,a5});
100 DiffSeq diff = generateTestDiff();
101 CHECK (!isnil (diff));
103 DataSeq target = src;
105 application.consume(diff);
107 CHECK (isnil (diff));
108 CHECK (!isnil (target));
109 CHECK (src != target);
110 CHECK (target == DataSeq({b1,a3,a5,b2,b3,a4,b4}));
Apply a "list diff" to a concrete sequence of elements in a container.
Interpreter interface to define the operations ("verbs"), which describe differences or changes in a ...
iter_stl::IterSnapshot< VAL > snapshot(std::initializer_list< VAL > const &&ili)
Take a snapshot of the given std::initializer_list.
Implementation namespace for support and library code.
Simplistic test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
materialised iterator contents.
Preconfigured adapters for some STL container standard usage situations.
#define DiffStep_CTOR(_ID_)
shortcut to define tokens of the diff language.
generic builder to apply a diff description to a given target data structure.