Skip to content

Merge branch 'feature/tuplevector' into 'master'

Christoph Grüninger requested to merge cherry-pick-40752c75 into releases/2.5

Add the TupleVector class

The TupleVector class is a multitype container without algebraic operations. It relates to Dune::MultiTypeBlockVector like std::vector relates to Dune::BlockVector. This is achived by augmenting std::tuple by the following:

  • operator[] for Dune::index_constant arguments
  • static size()

You can now write code like this which will work for multitype and classic vector like containers:

    using namespace Dune::Hybrid;
    forEach(integralRange(size(v)), [&](auto i) {
        v[i] = i;
    });

Notice that TupleVector was already present as implementation detail of two tests in dune-common and that dune-functions and dune-solvers also both contained their own variants

See merge request !134 (merged)

Merge request reports