![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "lib/diff/tree-diff-application.hpp"
Implementation of the tree-diff-language to work on arbitrary tree-like data.
This is the core part of the implementation, which maps the diff verbs onto the corresponding primitive operations of the TreeMutator interface. The concrete implementation of TreeMutator then is responsible to translate those operations into the correct manipulation of target data.
| lumiera::error::State | when diff application fails structurally. |
| _unspecified | errors_ when delegated operations fail. |
Definition at line 263 of file tree-diff-application.hpp.
Public Member Functions | |
| TreeDiffMutatorBinding () | |
Public Member Functions inherited from TreeDiffInterpreter | |
| virtual | ~TreeDiffInterpreter () |
| this is an interface | |
Protected Attributes | |
| TreeMutator * | treeMutator_ |
| ScopeManager * | scopeManger_ |
Private Member Functions | |
| void | __failMismatch (Literal oper, GenNode const &spec) |
| void | __expect_further_elements (GenNode const &elm) |
| void | __fail_not_found (GenNode const &elm) |
| void | __expect_end_of_scope (GenNode::ID const &idi) |
| void | __expect_valid_parent_scope (GenNode::ID const &idi) |
| virtual void | ins (GenNode const &n) override |
| virtual void | del (GenNode const &n) override |
| virtual void | pick (GenNode const &n) override |
| virtual void | skip (GenNode const &n) override |
| virtual void | find (GenNode const &n) override |
| virtual void | after (GenNode const &n) override |
| cue to a position behind the named node, thereby picking (accepting) all traversed elements into the reshaped new data structure as-is | |
| virtual void | set (GenNode const &n) override |
| assignment of changed value in one step | |
| virtual void | mut (GenNode const &n) override |
| open nested scope to apply diff to child object | |
| virtual void | emu (GenNode const &n) override |
| finish and leave child object scope, return to parent | |
Additional Inherited Members | |
Public Types inherited from TreeDiffInterpreter | |
| using | Val = GenNode |
|
inline |
Definition at line 301 of file tree-diff-application.hpp.
Definition at line 80 of file tree-diff.cpp.
References LERR_.
|
private |
Definition at line 88 of file tree-diff.cpp.
References LERR_.
|
private |
Definition at line 97 of file tree-diff.cpp.
References LERR_.
|
private |
Definition at line 105 of file tree-diff.cpp.
References BareEntryID::getSym(), and LERR_.
Here is the call graph for this function:
|
private |
Definition at line 115 of file tree-diff.cpp.
References BareEntryID::getSym(), and LERR_.
Here is the call graph for this function:
|
overrideprivatevirtual |
Implements TreeDiffInterpreter.
Definition at line 130 of file tree-diff.cpp.
|
overrideprivatevirtual |
Implements TreeDiffInterpreter.
Definition at line 138 of file tree-diff.cpp.
|
overrideprivatevirtual |
Implements TreeDiffInterpreter.
Definition at line 148 of file tree-diff.cpp.
|
overrideprivatevirtual |
Implements TreeDiffInterpreter.
Definition at line 156 of file tree-diff.cpp.
|
overrideprivatevirtual |
Implements TreeDiffInterpreter.
Definition at line 163 of file tree-diff.cpp.
|
overrideprivatevirtual |
cue to a position behind the named node, thereby picking (accepting) all traversed elements into the reshaped new data structure as-is
Implements TreeDiffInterpreter.
Definition at line 180 of file tree-diff.cpp.
|
overrideprivatevirtual |
assignment of changed value in one step
Implements TreeDiffInterpreter.
Definition at line 188 of file tree-diff.cpp.
|
overrideprivatevirtual |
open nested scope to apply diff to child object
Implements TreeDiffInterpreter.
Definition at line 196 of file tree-diff.cpp.
References cStr(), PlantingHandle< BA, DEFAULT >::get(), and GenNode::idi.
Here is the call graph for this function:
|
overrideprivatevirtual |
finish and leave child object scope, return to parent
Implements TreeDiffInterpreter.
Definition at line 208 of file tree-diff.cpp.
References cStr(), and GenNode::idi.
Here is the call graph for this function:
|
protected |
Definition at line 267 of file tree-diff-application.hpp.
Referenced by DiffApplicationStrategy< TAR, enable_if< TreeDiffTraits< TAR > > >::initDiffApplication().
|
protected |
Definition at line 268 of file tree-diff-application.hpp.
Referenced by DiffApplicationStrategy< TAR, enable_if< TreeDiffTraits< TAR > > >::initDiffApplication().
Inheritance diagram for TreeDiffMutatorBinding:
Collaboration diagram for TreeDiffMutatorBinding: