Draft: [nodeTree] tag dispatch based implementation of bindTree
in order to implement functionspacebases which are restricted to a subdomain, we need to support additional nodes with very specific behaviour. This can not be achieved with the TypeTree visitor pattern. This is a reimplementation of the bind without using a visitor.
This MR currently contains 3 different possible implementations:
- free standing function
bindTree
that uses tag-dispatch based on the TypeTree node-tag - in-class implementation of a free standing
bindTree
function that is specialized per node type. A mix-in class avoid code duplication - directly call a member functio
bind
on the node recursively, except for lead-nodes, wherebind
already has a different interface, here we added a tweak to calculate the offset and then callbind
.
All versions allow to add the special node handling strategies in the future, e.g. skip the bind for nodes which do not have support in a given subdomain.
Edited by Christian Engwer