1. 28 May, 2020 1 commit
    • Christian Engwer's avatar
      [!75] Static treepath · bfd48a0f
      Christian Engwer authored
      Merge branch 'static-treepath' into 'master'
      
      ref:staging/dune-typetree\> We introduce an alias StaticTreePath<i,...>
      referring to the corresponding HybridTreePath<integral_constant<i>,...>.
      
      The old (superseeded) static TreePath<i,...> is now deprecated and will be
      removed after 2.7.
      
      The StaticTreePath will stay as a convenience alias.
      
      (related to [#10])
      
      See merge request [!75]
      
        [#10]: gitlab.dune-project.org/NoneNone/issues/10
        [!75]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/75
      bfd48a0f
  2. 20 May, 2020 1 commit
  3. 19 May, 2020 3 commits
  4. 10 Apr, 2020 2 commits
  5. 08 Apr, 2020 1 commit
    • Christian Engwer's avatar
      [!72] Cleanup child and childStorage · e6262297
      Christian Engwer authored
      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
      e6262297
  6. 07 Apr, 2020 11 commits
  7. 13 Mar, 2020 1 commit
  8. 26 Feb, 2020 2 commits
    • Carsten Gräser's avatar
      [!69] Make HybridTreePath compatible with TreePath · b6efcad8
      Carsten Gräser authored
      Merge branch 'feature/compatible-hybridtreepath' into 'master'
      
      ref:staging/dune-typetree\> This allows to use
      HybridTreePath<index_constant<i>...> as a drop in replacement for
      TreePath<i...>. It also replaces two remaining use cases of TreePath by their
      HybridTreePath analogue. This implements [#10].
      
      As a consequence TreePath could be dropped if all downstream modules have
      switched to HybridTreePath. Once this transition was made we can consider
      getting rid of some of the functionality introduced here. E.g.
      Dune::TypeTree::TreePathSize<HTP>::value could be easily replaced by
      HTP::size().
      
      See merge request [!69]
      
        [#10]: gitlab.dune-project.org/NoneNone/issues/10
        [!69]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/69
      
      
      Closes #10
      b6efcad8
    • Carsten Gräser's avatar
      [!66] extended the tests of treecontainers to tests for matrix-like structures and type aliases · 16fbbd6b
      Carsten Gräser authored
      Merge branch 'issue/tree_container_tests' into 'master'
      
      See merge request [!66]
      
        [!66]: Nonestaging/dune-typetree/merge_requests/66
      16fbbd6b
  9. 25 Feb, 2020 1 commit
  10. 13 Feb, 2020 2 commits
    • Oliver Sander's avatar
      [!67] Always use shared_ptr from std:: · 7662ebb6
      Oliver Sander authored
      Merge branch 'do-not-use-dune-shared-ptr' into 'master'
      
      ref:staging/dune-typetree Up until dune-common 2.7, Dune::shared_ptr would
      also work (and point to the std implementation). Post-2.7, only
      std::shared_ptr is possible.
      
      See merge request [!67]
      
        [!67]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/67
      7662ebb6
    • Oliver Sander's avatar
      Always use shared_ptr from std:: · b6b6455e
      Oliver Sander authored
      Up until dune-common 2.7, Dune::shared_ptr would also work
      (and point to the std implementation).  Post-2.7, only
      std::shared_ptr is possible.
      b6b6455e
  11. 09 Feb, 2020 1 commit
  12. 20 Dec, 2019 3 commits
    • Christoph Grüninger's avatar
      [!64] Bump version to 2.8 · 233ef89b
      Christoph Grüninger authored
      Merge branch 'feature/bump-to-2.8' into 'master'
      
      See merge request [!64]
      
        [!64]: Nonestaging/dune-typetree/merge_requests/64
      233ef89b
    • Christoph Grüninger's avatar
      Bump version to 2.8 · 3901cdf2
      Christoph Grüninger authored
      3901cdf2
    • Christian Engwer's avatar
      [!61] Feature/improve treecontainer · f491eb75
      Christian Engwer authored
      Merge branch 'feature/improve-treecontainer' into 'master'
      
      ref:staging/dune-typetree Add alias TreeContainer using a meta function to
      determine the per node value
      
      -   Add support for TreeContainer<LeafToValue,Tree> where LeafToValue<Node> is
          the value associated to a node of type Node.
      -   Add a manual lambda implementing the LeafToValue<Node> transformation by
          default constructing the values. This is needed because you cannot use a
          lambda expresion in a type alias.
      -   Rename the existing TreeContainer<Value,Tree> alias to
          UniformTreeContainer<Value,Tree>. This is an **interface change** but:
          -   This is needed because you cannot have to templates of the same name.
          -   The new name is better.
          -   The old interface was not published in a release so far.
      
      See merge request [!61]
      
        [!61]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/61
      f491eb75
  13. 19 Dec, 2019 5 commits
    • Christoph Grüninger's avatar
      [!62] mailing list as maintainer · 36b7cf39
      Christoph Grüninger authored
      Merge branch 'feature/mailing-list-as-maintainer' into 'master'
      
      ref:staging/dune-typetree As Steffen steps down as the maintainer of
      dune-typetree and nobody claims this his or her project, I propose to set the
      Dune developer mailing list as the dune.module email address. Further, there
      will be no single maintainer to be asked for approval. Typetree will be like
      the core module, were everybody does as he thinks it is the best. We help each
      other by discussions and comments. I assume that especially users of
      dune-functions and PDELab will follow the development and contribute further
      improvements or features.
      
      @smuething @dominic @oliver.sander @carsten.graeser @christi Would that be ok?
      
      See merge request [!62]
      
        [!62]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/62
      36b7cf39
    • Christoph Grüninger's avatar
      3934cd7e
    • Carsten Gräser's avatar
      Add alias TreeContainer using a meta function to determine the per node value · c17264ca
      Carsten Gräser authored
      * Add support for `TreeContainer<LeafToValue,Tree>` where
        `LeafToValue<Node>` is the value associated to a node of
        type `Node`.
      * Add a manual lambda implementing the `LeafToValue<Node>` transformation
        by default constructing the values. This is needed because you cannot
        use a lambda expresion in a type alias.
      * Rename the existing `TreeContainer<Value,Tree>` alias to
        `UniformTreeContainer<Value,Tree>`.
        * This is needed because you cannot have to templates of the same name.
        * The new name is better.
        * The interface was not published in a release so far.
      c17264ca
    • Carsten Gräser's avatar
      Make TreeContainerVectorBackend default constructible · c6124f4d
      Carsten Gräser authored
      This simply calles the default constructor of the stored
      container class.
      c6124f4d
    • Dominic Kempf's avatar
      [!59] [bugfix] Introduce deterministic transformation order for composite nodes · f21a2359
      Dominic Kempf authored
      Merge branch 'bugfix/deterministic-child-transformation' into 'master'
      
      ref:staging/dune-typetree As a side effect of using parameter packs in the
      implementation of the transformation behaviour of composite nodes, the
      traversal order on the tree was not defined. The commit reimplements the
      transformation such that evaluation order of children is left to right.
      
      See merge request [!59]
      
        [!59]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/59
      f21a2359
  14. 18 Dec, 2019 3 commits
    • Christian Engwer's avatar
      [!60] Use std::initializer_list instead of fold expression to get deterministic evaluation order · e74e99d8
      Christian Engwer authored
      Merge branch 'bugfix/deterministic-child-transformation-cpp14' into 'bugfix/deterministic-child-transformation'
      
      ref:staging/dune-typetree This should make [!59] compatible with C++14.
      
      See merge request [!60]
      
        [!59]: gitlab.dune-project.org/NoneNone/merge_requests/59
        [!60]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/60
      e74e99d8
    • Christian Engwer's avatar
      [!21] Feature/remove vintage treepaths · 65da1ce6
      Christian Engwer authored
      Merge branch 'feature/remove-vintage-treepaths' into 'master'
      
      ref:staging/dune-typetree This MR (based on [!18]) removes DynamicTreePath,
      MutableDynamicTreePath, MakeableDynamicTreePath, TreePathType::mostlyStatic,
      and TreePathFactory. None of them is used any more in dune-typetree and
      dune-pdelab when applying the modernization of the tree traversal algorithms
      in [!18].
      
      The key is, that the modernized tree traversal only uses HybridTreePath which
      nicely does the job. The only other remaining tree path implementation is the
      fully static TypeTree::TreePath. Getting rid of this one is harder, because
      TreePath<i...> is used heavily as template parameter in dune-pdelab.
      
      Notice that I'm not sure if removing all those implementations without
      deprecation is a good idea. Hence this MR mostly serves for demonstrating how
      this could be cleaned up. However, if the removed stuff is considered
      internal, one may consider merging directly (after [!18] of course).
      
      See merge request [!21]
      
        [!18]: gitlab.dune-project.org/NoneNone/merge_requests/18
        [!21]: gitlab.dune-project.org/staging/dune-typetree/merge_requests/21
      65da1ce6
    • Carsten Gräser's avatar
  15. 11 Dec, 2019 2 commits
  16. 03 Dec, 2019 1 commit