Skip to content

Draft: [nodeTree] tag dispatch based implementation of bindTree

Christian Engwer requested to merge alternative-bind into master

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:

  1. free standing function bindTree that uses tag-dispatch based on the TypeTree node-tag
  2. in-class implementation of a free standing bindTree function that is specialized per node type. A mix-in class avoid code duplication
  3. directly call a member functio bind on the node recursively, except for lead-nodes, where bind already has a different interface, here we added a tweak to calculate the offset and then call bind.

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

Merge request reports

Loading