Skip to content

Cleanup child and childStorage

Simon Praetorius requested to merge feature/remove_child_storage into master

Summary

Cleanup the child(),childStorage() node member functions and corresponding free functions and removed type aliases ChildStorage and ConstChildStorage from node implementations

Details

  • The child-storage is in all node implementations a shared_ptr of the child type. This is even implicitly assumed in several methods, like setChild(). So it does not make much sense to allow flexible child storage types.
  • The child-extraction methods childStorage(node, i...) are not consistently implemented like child(node, i...) and several type aliases or free functions are missing, so this MR cleans this up.
  • The member functions node.childStorage(i) were not implemented correctly in all node implementations. But they cannot be removed right now because they are used in the tree transformation methods.
  • The node.childStorage(i) now consistently take an integral-constant or a runtime index as first argument. This allows for more generic implementations.

To Do

  • Check compatibility with dune-pdelab
  • Check compatibility with dune-functions
Edited by Simon Praetorius

Merge request reports