From e649c35221cf7143e958da27c8472f6b00c06d18 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <github@naumov.de> Date: Fri, 15 Sep 2023 21:09:44 +0200 Subject: [PATCH] [MTL] Use ids view_closure simplifying code --- MeshToolsLib/MeshSurfaceExtraction.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/MeshToolsLib/MeshSurfaceExtraction.cpp b/MeshToolsLib/MeshSurfaceExtraction.cpp index 7b426d62c20..db0cb4e3b1d 100644 --- a/MeshToolsLib/MeshSurfaceExtraction.cpp +++ b/MeshToolsLib/MeshSurfaceExtraction.cpp @@ -277,10 +277,9 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface( std::for_each(sfc_elements.begin(), sfc_elements.end(), [](MeshLib::Element* e) { delete e; }); - std::vector<std::size_t> id_map; - id_map.reserve(sfc_nodes.size()); - std::transform(begin(sfc_nodes), end(sfc_nodes), std::back_inserter(id_map), - [](MeshLib::Node* const n) { return n->getID(); }); + auto sfc_node_ids = sfc_nodes | MeshLib::views::ids; + std::vector<std::size_t> const id_map(sfc_node_ids.begin(), + sfc_node_ids.end()); MeshLib::Mesh* result(new MeshLib::Mesh(subsfc_mesh.getName() + "-Surface", sfc_nodes, new_elements)); @@ -500,11 +499,10 @@ std::unique_ptr<MeshLib::Mesh> getBoundaryElementsAsMesh( delete e; } - std::vector<std::size_t> nodes_to_bulk_nodes_id_map; - nodes_to_bulk_nodes_id_map.reserve(boundary_nodes.size()); - std::transform(begin(boundary_nodes), end(boundary_nodes), - std::back_inserter(nodes_to_bulk_nodes_id_map), - [](MeshLib::Node* const n) { return n->getID(); }); + auto boundary_node_ids = boundary_nodes | MeshLib::views::ids; + + std::vector<std::size_t> const nodes_to_bulk_nodes_id_map( + boundary_node_ids.begin(), boundary_node_ids.end()); std::unique_ptr<MeshLib::Mesh> boundary_mesh(new MeshLib::Mesh( bulk_mesh.getName() + "-boundary", boundary_nodes, new_elements)); -- GitLab