Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Special binding implementation for TreeMutator, allowing to accept and ignore any tree diff without tangible effect.
TreeMutator is a customisable intermediary, which enables otherwise opaque implementation data structures to receive and respond to generic structural change messages ("tree diff").
Each concrete TreeMutator instance will be configured differently, and this adaptation is done by combining various building blocks. This header defines a special /dev/null
building block, which behaves as if successfully consuming the given diff without actually doing anything. Obviously, such a "black hole layer" need to be below any other diff binding, and may be used to absorb any diff verbs not matched and consumed by a more specific binding. Contrast this to the TreeMutator default implementation, which likewise absorbs diff verbs, but in a way to trigger a lumiera::error::LUMIERA_ERROR_DIFF_CONFLICT.
Definition in file tree-mutator-noop-binding.hpp.
#include "lib/error.hpp"
#include "lib/diff/gen-node.hpp"
#include "lib/diff/tree-mutator.hpp"
#include <type_traits>
Classes | |
class | BlackHoleMutation |
Diff binding for black holes, happily accepting anything. More... | |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |