Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/diff/diff-language.hpp"
Definition frame for a language to describe differences in data structures.
We use a linearised representation as a sequence of DiffStep messages of constant size. The actual verbs of the diff language in use are defined through the operations of the Interpreter; each #VerbToken corresponds to a handler function on the Interpreter interface. In addition to the verb, each DiffStep also carries a content data element as argument, like e.g. "insert elm at next position".
I | Interpreter interface of the actual language to use |
E | type of the elementary data elements. |
Definition at line 147 of file diff-language.hpp.
Public Types | |
using | DiffToken = std::tuple< DiffVerb, E > |
using | DiffVerb = VerbToken< I, void(E const &)> |
using | Interpreter = I |
Static Public Attributes | |
static const DiffStep | NIL = DiffStep(DiffVerb(), E()) |
fixed "invalid" marker token More... | |
Classes | |
struct | DiffStep |
|
static |
fixed "invalid" marker token
Definition at line 179 of file diff-language.hpp.