Cleanup child and childStorage
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, likesetChild()
. So it does not make much sense to allow flexible child storage types. - The child-extraction methods
childStorage(node, i...)
are not consistently implemented likechild(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