Lumiera
0.pre.03
»edit your freedom«
|
Definition at line 78 of file diff-ignore-changes-test.cpp.
Private Types | |
using | DiffSeq = iter_stl::IterSnapshot< DiffStep > |
Private Types inherited from TreeDiffLanguage | |
using | Interpreter = TreeDiffInterpreter |
Private Types inherited from DiffLanguage< TreeDiffInterpreter, GenNode > | |
using | DiffToken = std::tuple< DiffVerb, GenNode > |
using | DiffVerb = VerbToken< TreeDiffInterpreter, void(GenNode const &)> |
using | Interpreter = TreeDiffInterpreter |
Private Member Functions | |
void | fail_or_ignore () |
void | fish_for_content () |
DiffSeq | mutationDiff () |
DiffSeq | populationDiff () |
DiffSeq | reorderingDiff () |
virtual void | run (Arg) |
Private Member Functions inherited from TreeDiffLanguage | |
DiffStep_CTOR (ins) | |
DiffStep_CTOR (del) | |
DiffStep_CTOR (pick) | |
DiffStep_CTOR (find) | |
DiffStep_CTOR (skip) | |
DiffStep_CTOR (after) | |
DiffStep_CTOR (set) | |
DiffStep_CTOR (mut) | |
DiffStep_CTOR (emu) | |
Additional Inherited Members | |
Static Private Attributes inherited from DiffLanguage< TreeDiffInterpreter, GenNode > | |
static const DiffStep | NIL |
fixed "invalid" marker token More... | |
|
inlineprivate |
ignoreAllChanges()
, in which case it will consume any diff without effect. This test also demonstrates that the actual TreeMutator is built anew for each diff application (TreeMutator is meant to be disposable). Thus we may alter the behaviour of the diff binding dynamically. Definition at line 158 of file diff-ignore-changes-test.cpp.
References TreeMutator::build(), PlantingHandle< BA, DEFAULT >::emplace(), and VERIFY_ERROR.
|
inlineprivate |
While the BlackHoleMutation binding generated by ignoreAllChanges()
must be used as bottom layer of a custom TreeMutator, it is possible to layer a partial diff binding on top. This test demonstrates this with a single attribute binding, which just "fishes" any value mentioned in the diff for that specific attribute. Any other changes are silently ignored non the less...
Definition at line 201 of file diff-ignore-changes-test.cpp.
References TreeMutator::build(), and PlantingHandle< BA, DEFAULT >::emplace().