60 ,[](
GenNode const& n) {
return n.data.get<
string>(); }
65 contents (vector<string>
const& strings)
67 return util::join (strings);
138 subject.scope (VAL_A, VAL_B, VAL_C);
140 CHECK (
"a, b, c" == contents(subject));
144 CHECK (
"a, d, c" == contents(subject));
154 , std::vector<string>
156 using std::vector<string>::vector;
170 Opaque subject{
"a",
"b",
"c"};
171 CHECK (
"a, b, c" == contents(subject));
175 CHECK (
"a, d, c" == contents(subject));
Concrete implementation to apply structural changes to hierarchical data structures.
Generic Message with an embedded diff, to describe changes to model elements.
Opaque message to effect a structural change on a target, which is likewise only known in an abstract...
Implementation namespace for support and library code.
static Builder< TreeMutator > build()
DSL: start building a custom adapted tree mutator, where the operations are tied by closures or wrapp...
SUB & emplace(SUB &&implementation)
move-construct an instance of a subclass into the opaque buffer
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
Simple test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
auto collection(COLL &coll)
Entry point to a nested DSL for setup and configuration of a collection binding.
auto transformIterator(IT const &src, FUN processingFunc)
Build a TransformIter: convenience free function shortcut, picking up the involved types automaticall...
object-like record of data.
MutationMessage someDiff()
a change represented symbolically as »diff sequence«.
string contents(Rec const &object)
render the child elements as string data for test/verification
generic data element node within a tree
Marker or capability interface: an otherwise not further disclosed data structure, which can be transformed through "tree diff messages".
generic builder to apply a diff description to a given target data structure.