CHANGELOG dune-typetree 2.11.0
Download the Dune 2.11.0 module sources
Release 2.11
- A modernized lightweight subset of the typetree interface has been
extracted to the new subdirectory
dune/common/typetree/ in
the dune-common module. This subset includes the node concepts,
the child access via Child, ChildForTreePath, and child(),
the traversal via the forEach*(), the Dune::HybridMultiIndex
class and its alias Dune::TypeTree::TreePath, and the utilities
from treecontainer.hh. This subset can be used independently
of the dune-typetree module and in particular without deriving
from the node base classes that have not been moved. Downstream
modules and applications that only rely on this functionality
no longer need to depend on the module dune-typetree.
- The name
TreePath has been reintroduced as alias for HybridMultiIndex
and HybridTreePath.
- A new algorithm
forEachChild() has been added, which
only loops over direct children.
- The requirements of tree nodes have been formalized as
concepts
TreeNode, InnerTreeNode, UniformInnerTreeNode,
and StaticDegreeInnerTreeNode. When using the forEach...
algorithms of dune-typetree, one no longer has to derive
node types from the node base classes. It is sufficient
to implement the respective concepts.
- The method
Dune::HybridMultiIndex::element() has been deprecated.
Use operator[] instead.
- The class
Dune::TypeTree::HybridTreePath has been extracted
into Dune::HybridMultiIndex. The old class persists as type alias.
HybridTreePath no longer supports entry types other than
std::size_t and std::integral_constant<std::size_t,i>.