23 std::array<Tuple, 2> operator()(
26 return std::array<Tuple, 2>{{t.m_operating_tuple, t.m_output_tuple}};
28 std::array<Tuple, 2> operator()(
31 return std::array<Tuple, 2>{{t.m_operating_tuple, t.m_output_tuple}};
33 std::array<Tuple, 2> operator()(
36 return std::array<Tuple, 2>{{t.m_operating_tuple, t.m_output_tuple}};
44 std::map<const Mesh*, std::vector<std::array<Tuple, 2>>> ret;
46 for (
const auto& [key, value_var] : return_data) {
47 const auto [mesh_ptr, input_simplex] = key;
48 auto tups = std::visit(ExtractTuple{}, value_var);
49 assert(tups[0] == input_simplex.tuple());
50 ret[mesh_ptr].emplace_back(tups);
58 std::map<const Mesh*, std::vector<std::array<Tuple, 2>>> ret;
60 for (
const auto& [key, value_var] : return_data) {
61 const auto [mesh_ptr, input_simplex] = key;
62 auto tups = std::visit(ExtractTuple{}, value_var);
63 assert(tups[0] == input_simplex.tuple());
64 ret[mesh_ptr].emplace_back(tups);
71 std::map<const Mesh*, std::vector<std::tuple<simplex::NavigatableSimplex, Tuple>>> ret;
73 for (
const auto& [key, value_var] : return_data) {
74 const auto [mesh_ptr, input_simplex] = key;
75 auto tups = std::visit(ExtractTuple{}, value_var);
76 assert(tups[0] == input_simplex.tuple());
77 ret[mesh_ptr].emplace_back(input_simplex, tups[1]);
84 std::map<const Mesh*, std::vector<std::tuple<simplex::NavigatableSimplex, Tuple>>> ret;
86 for (
const auto& [key, value_var] : return_data) {
87 const auto [mesh_ptr, input_simplex] = key;
88 auto tups = std::visit(ExtractTuple{}, value_var);
89 assert(tups[0] == input_simplex.tuple());
90 ret[mesh_ptr].emplace_back(input_simplex, tups[1]);
std::map< const Mesh *, std::vector< std::array< Tuple, 2 > > > extract_operation_tuples(const wmtk::operations::utils::CollapseReturnData &return_data)
OperationInOutData extract_operation_in_out(const CollapseReturnData &return_data)
wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< wmtk::operations::utils::MultiMeshEdgeSplitFunctor, wmtk::utils::metaprogramming::MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > SplitReturnData
std::map< const Mesh *, std::vector< std::tuple< simplex::NavigatableSimplex, wmtk::Tuple > >> OperationInOutData
wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< wmtk::operations::utils::MultiMeshEdgeCollapseFunctor, wmtk::utils::metaprogramming::MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > CollapseReturnData
wmtk::multimesh::operations::CollapseReturnData CollapseReturnData
wmtk::multimesh::operations::SplitReturnData SplitReturnData