8 const wmtk::attribute::UpdateStrategy& strategy,
12 if (std::is_convertible_v<wmtk::attribute::UpdateStrategyCollection>(strategy)) {
14 for (
const auto& substrat_ptr : strat) {
15 apply(*substrat_ptr, data);
17 }
else if (std::is_convertible_v<const UpdateStrategy>(strategy){
18 auto& strat =
static_cast<const UpdateStrategy&
>(strategy);
20 const Mesh* m = &strat.mesh();
21 auto pairs = data.at(m);
22 for (
const auto& [a, b] : pairs) {
25 strat.run_split(a, b);
28 case Collapse: strat.run_collapse(a, b);
return;
void apply(const wmtk::attribute::UpdateStrategy &strategy, const OperationTupleData &data, UpdateMode mode)
std::map< const Mesh *, std::vector< std::array< Tuple, 2 > >> OperationTupleData