Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/diff/tree-diff-application.hpp"
Typical standard implementation of the ScopeManager.
Using Heap memory for the nested scopes, we create a stack of opaque InPlaceBuffers for each scope, which allows the PlantingHandle mechanism to let the target object corresponding to this scope build its own TreeMutator implementation into this buffer space for this scope.
Definition at line 170 of file tree-diff-application.hpp.
Public Member Functions | |
virtual void | clear () |
virtual TreeMutator & | closeScope () |
TreeMutator & | currentScope () const |
virtual size_t | depth () const |
virtual TreeMutator::Handle | openScope () |
Public Member Functions inherited from ScopeManager | |
virtual | ~ScopeManager () |
this is an interface | |
Private Types | |
using | MutatorBuffer = InPlaceBuffer< TreeMutator, buffSiz > |
using | MutatorStack = std::stack< MutatorBuffer > |
Private Attributes | |
MutatorStack | scopes_ |
Allocate Heap Storage for nested TreeMutator(s) | |
|
inlinevirtual |
treeMutatorSize(...)
Implements ScopeManager.
Definition at line 199 of file tree-diff-application.hpp.