mirror of https://github.com/CGAL/cgal
simplify the code for MSVC 2019
See the ICE at https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.1-Ic-160/Constrained_triangulation_3/TestReport_Christo_MSVC-2019-Community-Release.gz
This commit is contained in:
parent
2db51dbc85
commit
ed4901c484
|
|
@ -378,21 +378,23 @@ template <typename Point,
|
|||
typename... Default_value_args>
|
||||
auto get(Dynamic_property_tag, const Surface_mesh<Point>& sm, Default_value_args&&... default_value_args) {
|
||||
using graph_traits = boost::graph_traits<Surface_mesh<Point>>;
|
||||
using vertex_descriptor = typename graph_traits::vertex_descriptor;
|
||||
using face_descriptor = typename graph_traits::face_descriptor;
|
||||
using edge_descriptor = typename graph_traits::edge_descriptor;
|
||||
using halfedge_descriptor = typename graph_traits::halfedge_descriptor;
|
||||
auto num_elements = CGAL::overloaded{
|
||||
[&](vertex_descriptor) { return num_vertices(sm); },
|
||||
[&](halfedge_descriptor) { return num_halfedges(sm); },
|
||||
[&](edge_descriptor) { return num_edges(sm); },
|
||||
[&](face_descriptor) { return num_faces(sm); }
|
||||
};
|
||||
|
||||
using descriptor = typename Dynamic_property_tag::template property_map<Surface_mesh<Point>>::descriptor;
|
||||
using value_type = typename Dynamic_property_tag::value_type;
|
||||
|
||||
auto num_elements = num_vertices(sm);
|
||||
if constexpr(std::is_same_v<descriptor, edge_descriptor>) {
|
||||
num_elements = num_edges(sm);
|
||||
} else if constexpr(std::is_same_v<descriptor, halfedge_descriptor>) {
|
||||
num_elements = num_halfedges(sm);
|
||||
} else if constexpr(std::is_same_v<descriptor, face_descriptor>) {
|
||||
num_elements = num_faces(sm);
|
||||
}
|
||||
return CGAL::internal::Dynamic_with_index<descriptor, value_type>(
|
||||
num_elements(descriptor{}),
|
||||
std::forward<Default_value_args>(default_value_args)...);
|
||||
num_elements, std::forward<Default_value_args>(default_value_args)...);
|
||||
}
|
||||
|
||||
// implementation detail: required by Dynamic_property_map_deleter
|
||||
|
|
|
|||
Loading…
Reference in New Issue