Commit e6262297 authored by Christian Engwer's avatar Christian Engwer

[!72] Cleanup child and childStorage

Merge branch 'feature/remove_child_storage' into 'master'

ref:staging/dune-typetree\>

### 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

-   [x] Check compatibility with dune-pdelab
-   [x] Check compatibility with dune-functions

See merge request [!72]

  [!72]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/72
parents 9c273f9c 50309ad0
Pipeline #26171 passed with stage
in 2 minutes and 2 seconds