![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
Definitions and Properties to guide automated tree mutator binding. More...
Go to the source code of this file.
Definitions and Properties to guide automated tree mutator binding.
Decision how to access the target structure and how to construct a suitable TreeMutator as attached to this opaque target data.
In a nutshell, if some private data structure wants to receive mutation diff messages...
void buildMutator(TreeMutator::Handle) Additionally, when the size of the custom TreeMutator object exceeds some hard wired limit (200 bytes), then the target type also needs to define the extension point size_t treeMutatorSize(TargetType)All of this boils down to somewhere / somehow using the TreeMutator::Builder (a DSL API) to construct a custom binding, which allows to talk to our private data structure through the TreeMutator interface.
Definition in file tree-diff-traits.hpp.
#include "lib/diff/tree-mutator.hpp"#include "lib/diff/diff-mutable.hpp"#include "lib/null-value.hpp"#include "lib/util.hpp"#include <utility>#include <stack>Namespaces | |
| namespace | lib |
| Implementation namespace for support and library code. | |
| namespace | lib::diff |
Classes | |
| struct | TreeMutatorSizeTraits< TAR, SEL > |
| Heuristics to guide the allocation for nested TreeMutator. More... | |
| struct | defines_custom_BufferSize< T > |
| struct | TreeMutatorSizeTraits< TAR, enable_if< defines_custom_BufferSize< TAR > > > |
| class | exposes_MutatorBuilder< T > |
| helper to detect presence of a TreeMutator builder function More... | |
| struct | TreeDiffTraits< TAR, SEL > |
| struct | TreeDiffTraits< TAR, enable_if< is_base_of< DiffMutable, TAR > > > |
| struct | TreeDiffTraits< TAR, enable_if< exposes_MutatorBuilder< TAR > > > |
| class | TreeDiffTraits< TAR, enable_if< exposes_MutatorBuilder< TAR > > >::Wrapper |
Functions | |
| constexpr size_t | treeMutatorSize (...) |
| template<typename T > | |
| constexpr T * | getSelector () |
| template<class TAR > | |
| TreeDiffTraits< TAR >::Ret | mutatorBinding (TAR &subject) |
| public access point to this configuration machinery | |