128 void run(MeshType_&& current_mesh)
130 using MeshType = std::decay_t<MeshType_>;
134 constexpr static int64_t MeshDim = wmtk::utils::metaprogramming::cell_dimension_v<MeshType>;
139 auto& child_datas = current_mesh.m_multi_mesh_manager.children();
143 for (
size_t child_index = 0; child_index < child_datas.size(); ++child_index) {
144 auto&& child_data = child_datas[child_index];
145 Mesh& child_mesh_base = *child_data.mesh;
148 auto child_mesh_variant =
151 [&](
auto&& child_mesh_)
noexcept {
152 auto&& child_mesh = child_mesh_.get();
153 using ChildType = std::decay_t<
decltype(child_mesh)>;
155 constexpr static int64_t ChildDim =
156 wmtk::utils::metaprogramming::cell_dimension_v<ChildType>;
164 assert(MeshDim >= ChildDim);
166 if constexpr (MeshDim >= ChildDim) {
173 visitor.m_node_functor(current_mesh);