diff --git a/BGL/examples/BGL_LCC/distance_lcc.cpp b/BGL/examples/BGL_LCC/distance_lcc.cpp index b19f0ab2b384..7baf0883ff4a 100644 --- a/BGL/examples/BGL_LCC/distance_lcc.cpp +++ b/BGL/examples/BGL_LCC/distance_lcc.cpp @@ -28,7 +28,7 @@ int main(int argc, char** argv) // Here we start at an arbitrary vertex // Any other vertex could be the starting point vertex_iterator vb, ve; - boost::tie(vb,ve)=vertices(lcc); + std::tie(vb,ve)=vertices(lcc); vertex_descriptor vd = *vb; std::cout << "We compute distances to " << vd->point() << std::endl; @@ -45,7 +45,7 @@ int main(int argc, char** argv) boost::on_tree_edge())))); // Traverse all vertices and show at what distance they are - for(boost::tie(vb,ve)=vertices(lcc); vb!=ve; ++vb) + for(std::tie(vb,ve)=vertices(lcc); vb!=ve; ++vb) { vd = *vb; std::cout<point()<<" is "<id()]<<" hops away."<point() << "\n"; } diff --git a/BGL/examples/BGL_LCC/normals_lcc.cpp b/BGL/examples/BGL_LCC/normals_lcc.cpp index b729b0b4792e..b91f302563b4 100644 --- a/BGL/examples/BGL_LCC/normals_lcc.cpp +++ b/BGL/examples/BGL_LCC/normals_lcc.cpp @@ -31,7 +31,7 @@ void calculate_face_normals(const HalfedgeGraph& g, typedef typename boost::property_traits::value_type normal; face_iterator fb, fe; - for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb) + for(std::tie(fb, fe) = faces(g); fb != fe; ++fb) { halfedge_descriptor edg = halfedge(*fb, g); halfedge_descriptor edgb = edg; diff --git a/BGL/examples/BGL_LCC/range_lcc.cpp b/BGL/examples/BGL_LCC/range_lcc.cpp index cdf89714c30f..e6aca96a3977 100644 --- a/BGL/examples/BGL_LCC/range_lcc.cpp +++ b/BGL/examples/BGL_LCC/range_lcc.cpp @@ -42,10 +42,10 @@ void fct(const LCC& lcc) std::cout << vd->point() << std::endl; } - std::cout << "boost::tie + std::for_each" << std::endl; + std::cout << "std::tie + std::for_each" << std::endl; vertex_iterator vb, ve; - boost::tie(vb,ve) = vertices_range(lcc); + std::tie(vb,ve) = vertices_range(lcc); std::for_each(vb,ve, Fct()); } diff --git a/BGL/examples/BGL_LCC/transform_iterator_lcc.cpp b/BGL/examples/BGL_LCC/transform_iterator_lcc.cpp index 988c0230bae2..06153ecf2ce2 100644 --- a/BGL/examples/BGL_LCC/transform_iterator_lcc.cpp +++ b/BGL/examples/BGL_LCC/transform_iterator_lcc.cpp @@ -49,7 +49,7 @@ int main(int argc, char** argv) typedef boost::transform_iterator,halfedge_around_target_iterator> adjacent_vertex_iterator; halfedge_around_target_iterator hb,he; - boost::tie(hb,he) = halfedges_around_target(halfedge(vd,lcc),lcc); + std::tie(hb,he) = halfedges_around_target(halfedge(vd,lcc),lcc); adjacent_vertex_iterator avib, avie; avib = boost::make_transform_iterator(hb, Source(lcc)); avie = boost::make_transform_iterator(he, Source(lcc)); diff --git a/BGL/examples/BGL_polyhedron_3/distance.cpp b/BGL/examples/BGL_polyhedron_3/distance.cpp index 4a289af9760d..9547d9b66066 100644 --- a/BGL/examples/BGL_polyhedron_3/distance.cpp +++ b/BGL/examples/BGL_polyhedron_3/distance.cpp @@ -24,9 +24,9 @@ int main(int argc, char** argv) { vertex_iterator vb, ve; int index = 0; - // boost::tie assigns the first and second element of the std::pair + // std::tie assigns the first and second element of the std::pair // returned by boost::vertices to the variables vit and ve - for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ + for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ vertex_descriptor vd = *vb; vd->id() = index++; } @@ -37,7 +37,7 @@ int main(int argc, char** argv) { // Here we start at an arbitrary vertex // Any other vertex could be the starting point - boost::tie(vb,ve)=vertices(P); + std::tie(vb,ve)=vertices(P); vertex_descriptor vd = *vb; std::cout << "We compute distances to " << vd->point() << std::endl; @@ -54,7 +54,7 @@ int main(int argc, char** argv) { // Traverse all vertices and show at what distance they are - for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ + for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ vd = *vb; std::cout << vd->point() << " is " << distance[vd->id()] << " hops away" << std::endl; } diff --git a/BGL/examples/BGL_polyhedron_3/incident_vertices.cpp b/BGL/examples/BGL_polyhedron_3/incident_vertices.cpp index b951c472d142..464bd9ecbb55 100644 --- a/BGL/examples/BGL_polyhedron_3/incident_vertices.cpp +++ b/BGL/examples/BGL_polyhedron_3/incident_vertices.cpp @@ -36,7 +36,7 @@ adjacent_vertices_V2(const Polyhedron& g, { halfedge_around_target_iterator hi, he; - for(boost::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi) + for(std::tie(hi, he) = halfedges_around_target(halfedge(vd,g),g); hi != he; ++hi) { *out++ = source(*hi,g); } diff --git a/BGL/examples/BGL_polyhedron_3/kruskal.cpp b/BGL/examples/BGL_polyhedron_3/kruskal.cpp index 643719973778..36b3c6256053 100644 --- a/BGL/examples/BGL_polyhedron_3/kruskal.cpp +++ b/BGL/examples/BGL_polyhedron_3/kruskal.cpp @@ -33,9 +33,9 @@ kruskal(const Polyhedron& P) vertex_iterator vb, ve; int index = 0; - // boost::tie assigns the first and second element of the std::pair + // std::tie assigns the first and second element of the std::pair // returned by boost::vertices to the variables vb and ve - for(boost::tie(vb, ve)=vertices(P); vb!=ve; ++vb){ + for(std::tie(vb, ve)=vertices(P); vb!=ve; ++vb){ vertex_index_pmap[*vb]= index++; } @@ -59,7 +59,7 @@ kruskal(const Polyhedron& P) " coord Coordinate {\n" " point [ \n"; - for(boost::tie(vb, ve) = vertices(P); vb!=ve; ++vb){ + for(std::tie(vb, ve) = vertices(P); vb!=ve; ++vb){ std::cout << " " << (*vb)->point() << "\n"; } diff --git a/BGL/examples/BGL_polyhedron_3/kruskal_with_stored_id.cpp b/BGL/examples/BGL_polyhedron_3/kruskal_with_stored_id.cpp index a1280a1b479e..1b8d467255c8 100644 --- a/BGL/examples/BGL_polyhedron_3/kruskal_with_stored_id.cpp +++ b/BGL/examples/BGL_polyhedron_3/kruskal_with_stored_id.cpp @@ -41,7 +41,7 @@ kruskal( const Polyhedron& P) "point [ \n"; vertex_iterator vb, ve; - for(boost::tie(vb,ve) = vertices(P); vb!=ve; ++vb){ + for(std::tie(vb,ve) = vertices(P); vb!=ve; ++vb){ std::cout << (*vb)->point() << "\n"; } @@ -75,9 +75,9 @@ int main() { vertex_iterator vb, ve; int index = 0; - // boost::tie assigns the first and second element of the std::pair + // std::tie assigns the first and second element of the std::pair // returned by boost::vertices to the variables vit and ve - for(boost::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ + for(std::tie(vb,ve)=vertices(P); vb!=ve; ++vb ){ vertex_descriptor vd = *vb; vd->id() = index++; } diff --git a/BGL/examples/BGL_polyhedron_3/normals.cpp b/BGL/examples/BGL_polyhedron_3/normals.cpp index 711800cb8ab4..d6ed605de84e 100644 --- a/BGL/examples/BGL_polyhedron_3/normals.cpp +++ b/BGL/examples/BGL_polyhedron_3/normals.cpp @@ -26,7 +26,7 @@ void calculate_face_normals(const HalfedgeGraph& g, typedef typename boost::property_traits::value_type normal; face_iterator fb, fe; - for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb) + for(std::tie(fb, fe) = faces(g); fb != fe; ++fb) { halfedge_descriptor edg = halfedge(*fb, g); halfedge_descriptor edgb = edg; diff --git a/BGL/examples/BGL_polyhedron_3/range.cpp b/BGL/examples/BGL_polyhedron_3/range.cpp index bf54640120fd..fcf325cba3b8 100644 --- a/BGL/examples/BGL_polyhedron_3/range.cpp +++ b/BGL/examples/BGL_polyhedron_3/range.cpp @@ -40,10 +40,10 @@ void fct(const Polyhedron& p) std::cout << vd->point() << std::endl; } - std::cout << "boost::tie + std::for_each" << std::endl; + std::cout << "std::tie + std::for_each" << std::endl; vertex_iterator vb, ve; - boost::tie(vb,ve) = vertices_range(p); + std::tie(vb,ve) = vertices_range(p); std::for_each(vb,ve, Fct()); } diff --git a/BGL/examples/BGL_polyhedron_3/transform_iterator.cpp b/BGL/examples/BGL_polyhedron_3/transform_iterator.cpp index 5642ab08d6ab..3ff09778fe10 100644 --- a/BGL/examples/BGL_polyhedron_3/transform_iterator.cpp +++ b/BGL/examples/BGL_polyhedron_3/transform_iterator.cpp @@ -47,7 +47,7 @@ int main(int argc, char** argv) typedef boost::transform_iterator,halfedge_around_target_iterator> adjacent_vertex_iterator; halfedge_around_target_iterator hb,he; - boost::tie(hb,he) = halfedges_around_target(halfedge(vd,P),P); + std::tie(hb,he) = halfedges_around_target(halfedge(vd,P),P); adjacent_vertex_iterator avib, avie; avib = boost::make_transform_iterator(hb, Source(P)); avie = boost::make_transform_iterator(he, Source(P)); diff --git a/BGL/examples/BGL_surface_mesh/surface_mesh_partition.cpp b/BGL/examples/BGL_surface_mesh/surface_mesh_partition.cpp index 1f57a67524f4..58704355d629 100644 --- a/BGL/examples/BGL_surface_mesh/surface_mesh_partition.cpp +++ b/BGL/examples/BGL_surface_mesh/surface_mesh_partition.cpp @@ -51,7 +51,7 @@ int main(int argc, char** argv) std::ofstream outxyz("out.xyz"); outxyz.precision(17); boost::graph_traits::vertex_iterator vit, ve; - boost::tie(vit, ve) = vertices(sm); + std::tie(vit, ve) = vertices(sm); for(; vit!=ve; ++vit) { if(get(vertex_pid_map, *vit) == 0) diff --git a/BGL/include/CGAL/boost/graph/Dual.h b/BGL/include/CGAL/boost/graph/Dual.h index 4ca45b9bcec7..59156f7232d9 100644 --- a/BGL/include/CGAL/boost/graph/Dual.h +++ b/BGL/include/CGAL/boost/graph/Dual.h @@ -306,7 +306,7 @@ edge(typename boost::graph_traits >::vertex_descriptor u, const Dual

& dual) { typename boost::graph_traits >::out_edge_iterator e, e_end; - for(boost::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) { + for(std::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) { if(target(*e, dual) == v) return std::make_pair(*e, true); } @@ -391,7 +391,7 @@ halfedge(typename boost::graph_traits >::vertex_descriptor u, const Dual

& dual) { typename boost::graph_traits >::out_edge_iterator e, e_end; - for(boost::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) { + for(std::tie(e, e_end) = out_edges(u, dual); e != e_end; ++e) { if(target(*e, dual) == v) return std::make_pair(halfedge(*e, dual), true); } diff --git a/BGL/include/CGAL/boost/graph/Euler_operations.h b/BGL/include/CGAL/boost/graph/Euler_operations.h index f8c79165bc53..bf9fd8072557 100644 --- a/BGL/include/CGAL/boost/graph/Euler_operations.h +++ b/BGL/include/CGAL/boost/graph/Euler_operations.h @@ -136,7 +136,7 @@ join_vertex(typename boost::graph_traits::halfedge_descriptor h, CGAL_assertion( halfedge(v_to_remove, v, g).first == h ); halfedge_around_vertex_iterator ieb, iee; - for(boost::tie(ieb, iee) = halfedges_around_target(hop, g); ieb != iee; ++ieb) { + for(std::tie(ieb, iee) = halfedges_around_target(hop, g); ieb != iee; ++ieb) { CGAL_assertion( target(*ieb,g) == v_to_remove); set_target(*ieb ,v , g); } @@ -615,7 +615,7 @@ bool can_add_face(const VertexRange& vrange, const PMesh& sm) for(std::size_t i=0; i < N; ++i){ halfedge_descriptor hd; bool found; - boost::tie(hd,found) = halfedge(face[i],face[i+1],sm); + std::tie(hd,found) = halfedge(face[i],face[i+1],sm); if(found && (! is_border(hd,sm))){ return false; } @@ -1149,7 +1149,7 @@ void make_hole(typename boost::graph_traits::halfedge_descriptor h, face_descriptor fd = face(h, g); halfedge_around_face_iterator hafib, hafie; - for(boost::tie(hafib, hafie) = halfedges_around_face(h, g); + for(std::tie(hafib, hafie) = halfedges_around_face(h, g); hafib != hafie; ++hafib){ CGAL_assertion(! is_border(opposite(*hafib,g),g)); @@ -1361,7 +1361,7 @@ add_vertex_and_face_to_border(typename boost::graph_traits::halfedge_desc internal::set_border(he2,g); CGAL::Halfedge_around_face_iterator hafib,hafie; - for(boost::tie(hafib, hafie) = halfedges_around_face(ohe1, g); + for(std::tie(hafib, hafie) = halfedges_around_face(ohe1, g); hafib != hafie; ++hafib){ set_face(*hafib, f, g); @@ -1421,7 +1421,7 @@ add_face_to_border(typename boost::graph_traits::halfedge_descriptor h1, internal::set_border(newhop, g); CGAL::Halfedge_around_face_iterator hafib,hafie; - for(boost::tie(hafib, hafie) = halfedges_around_face(newh, g); + for(std::tie(hafib, hafie) = halfedges_around_face(newh, g); hafib != hafie; ++hafib){ set_face(*hafib, f, g); @@ -1458,7 +1458,7 @@ does_satisfy_link_condition(typename boost::graph_traits::edge_descriptor // The following loop checks the link condition for v0_v1. // Specifically, that for every vertex 'k' adjacent to both 'p and 'q', 'pkq' is a face of the mesh. // - for ( boost::tie(eb1,ee1) = halfedges_around_source(v0,g) ; eb1 != ee1 ; ++ eb1 ) + for ( std::tie(eb1,ee1) = halfedges_around_source(v0,g) ; eb1 != ee1 ; ++ eb1 ) { halfedge_descriptor v0_k = *eb1; @@ -1466,7 +1466,7 @@ does_satisfy_link_condition(typename boost::graph_traits::edge_descriptor { vertex_descriptor k = target(v0_k,g); - for ( boost::tie(eb2,ee2) = halfedges_around_source(k,g) ; eb2 != ee2 ; ++ eb2 ) + for ( std::tie(eb2,ee2) = halfedges_around_source(k,g) ; eb2 != ee2 ; ++ eb2 ) { halfedge_descriptor k_v1 = *eb2; diff --git a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h index 362f6b241b1b..00097ff15745 100644 --- a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h +++ b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h @@ -895,7 +895,7 @@ vertices(const Face_filtered_graph & w) typename Face_filtered_graph ::Is_simplex_valid predicate(&w); g_vertex_iterator b,e; - boost::tie(b,e) = vertices(w.graph()); + std::tie(b,e) = vertices(w.graph()); return make_range(vertex_iterator(predicate, b, e), vertex_iterator(predicate, e, e)); } @@ -912,7 +912,7 @@ edges(const Face_filtered_graph & w) typename Face_filtered_graph ::Is_simplex_valid predicate(&w); g_edge_iterator b,e; - boost::tie(b,e) = edges(w.graph()); + std::tie(b,e) = edges(w.graph()); return make_range(edge_iterator(predicate, b, e), edge_iterator(predicate, e, e)); } @@ -931,7 +931,7 @@ out_edges(typename boost::graph_traits ::Is_simplex_valid predicate(&w); g_out_edge_iterator b,e; - boost::tie(b,e) = out_edges(v, w.graph()); + std::tie(b,e) = out_edges(v, w.graph()); return make_range(out_edge_iterator(predicate, b, e), out_edge_iterator(predicate, e, e)); } @@ -950,7 +950,7 @@ in_edges(typename boost::graph_traits ::Is_simplex_valid predicate(&w); g_in_edge_iterator b,e; - boost::tie(b,e) = in_edges(v, w.graph()); + std::tie(b,e) = in_edges(v, w.graph()); return make_range(in_edge_iterator(predicate, b, e), in_edge_iterator(predicate, e, e)); } diff --git a/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h b/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h index 368c5fca5245..ad1079788282 100644 --- a/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h +++ b/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h @@ -310,7 +310,7 @@ edge(typename boost::graph_traits >::ver CGAL_assertion(in_same_graph(v,w)); bool b; g_edge_descriptor ed; - boost::tie(ed,b) = edge(u.descriptor, v.descriptor, *w.graph); + std::tie(ed,b) = edge(u.descriptor, v.descriptor, *w.graph); return std::make_pair(edge_descriptor(ed,*w.graph),b); } @@ -320,7 +320,7 @@ CGAL::Iterator_range & w) { typename boost::graph_traits::vertex_iterator b,e; - boost::tie(b,e) = vertices(*w.graph); + std::tie(b,e) = vertices(*w.graph); return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits >::V2V(*w.graph)), boost::make_transform_iterator(e,typename boost::graph_traits >::V2V(*w.graph))); } @@ -330,7 +330,7 @@ CGAL::Iterator_range & w) { typename boost::graph_traits::edge_iterator b,e; - boost::tie(b,e) = edges(*w.graph); + std::tie(b,e) = edges(*w.graph); return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits >::E2E(*w.graph)), boost::make_transform_iterator(e,typename boost::graph_traits >::E2E(*w.graph))); } @@ -342,7 +342,7 @@ out_edges(typename boost::graph_traits > { CGAL_assertion(in_same_graph(v,w)); typename boost::graph_traits::out_edge_iterator b,e; - boost::tie(b,e) = out_edges(v.descriptor, *w.graph); + std::tie(b,e) = out_edges(v.descriptor, *w.graph); return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits >::E2E(*w.graph)), boost::make_transform_iterator(e,typename boost::graph_traits >::E2E(*w.graph))); } @@ -354,7 +354,7 @@ in_edges(typename boost::graph_traits >: { CGAL_assertion(in_same_graph(v,w)); typename boost::graph_traits::in_edge_iterator b,e; - boost::tie(b,e) = in_edges(v.descriptor, *w.graph); + std::tie(b,e) = in_edges(v.descriptor, *w.graph); return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits >::E2E(*w.graph)), boost::make_transform_iterator(e,typename boost::graph_traits >::E2E(*w.graph))); } @@ -557,7 +557,7 @@ halfedge(typename boost::graph_traits< Graph_with_descriptor_with_graph > bool b; CGAL_assertion(in_same_graph(u,w)); CGAL_assertion(in_same_graph(v,w)); - boost::tie(hd,b) = halfedge(u.descriptor, v.descriptor, *w.graph); + std::tie(hd,b) = halfedge(u.descriptor, v.descriptor, *w.graph); return std::make_pair(halfedge_descriptor(hd,*w.graph),b); } @@ -621,7 +621,7 @@ CGAL::Iterator_range & w) { typename boost::graph_traits::halfedge_iterator b,e; - boost::tie(b,e) = halfedges(*w.graph); + std::tie(b,e) = halfedges(*w.graph); return std::make_pair(boost::make_transform_iterator(b, typename boost::graph_traits >::H2H(*w.graph)), boost::make_transform_iterator(e, typename boost::graph_traits >::H2H(*w.graph))); } @@ -661,7 +661,7 @@ CGAL::Iterator_range & w) { typename boost::graph_traits::face_iterator b,e; - boost::tie(b,e) = faces(*w.graph); + std::tie(b,e) = faces(*w.graph); return std::make_pair(boost::make_transform_iterator(b,typename boost::graph_traits >::F2F(*w.graph)), boost::make_transform_iterator(e,typename boost::graph_traits >::F2F(*w.graph))); } diff --git a/BGL/include/CGAL/boost/graph/METIS/partition_dual_graph.h b/BGL/include/CGAL/boost/graph/METIS/partition_dual_graph.h index 9a217389d82e..32a2cb66294e 100644 --- a/BGL/include/CGAL/boost/graph/METIS/partition_dual_graph.h +++ b/BGL/include/CGAL/boost/graph/METIS/partition_dual_graph.h @@ -61,7 +61,7 @@ void partition_dual_graph(const TriangleMesh& tm, // fill the adjacency info face_iterator fit, fe; - boost::tie(fit, fe) = faces(tm); + std::tie(fit, fe) = faces(tm); for(int i=0, j=0; fit!=fe; ++fit, ++i) { eptr[i] = j; diff --git a/BGL/include/CGAL/boost/graph/METIS/partition_graph.h b/BGL/include/CGAL/boost/graph/METIS/partition_graph.h index 42f8c240f011..362d8a1502b0 100644 --- a/BGL/include/CGAL/boost/graph/METIS/partition_graph.h +++ b/BGL/include/CGAL/boost/graph/METIS/partition_graph.h @@ -47,7 +47,7 @@ struct Output_vertex_partition_ids VertexPartitionIDPmap vertex_partition_id_map) { typename boost::graph_traits::vertex_iterator vit, ve; - boost::tie(vit, ve) = vertices(tm); + std::tie(vit, ve) = vertices(tm); for(; vit!=ve; ++vit) put(vertex_partition_id_map, *vit, npart[get(indices, *vit)]); } @@ -64,7 +64,7 @@ struct Output_face_partition_ids FacePartitionIDPmap face_partition_id_map) { typename boost::graph_traits::face_iterator fit, fe; - boost::tie(fit, fe) = faces(tm); + std::tie(fit, fe) = faces(tm); for(int i=0; fit!=fe; ++fit, ++i) put(face_partition_id_map, *fit, epart[i]); } @@ -98,7 +98,7 @@ void partition_graph(const TriangleMesh& tm, // fill the adjacency info face_iterator fit, fe; - boost::tie(fit, fe) = faces(tm); + std::tie(fit, fe) = faces(tm); for(int i=0, j=0; fit!=fe; ++fit, ++i) { eptr[i] = j; diff --git a/BGL/include/CGAL/boost/graph/alpha_expansion_graphcut.h b/BGL/include/CGAL/boost/graph/alpha_expansion_graphcut.h index b2d6e1cc8401..75014bd9371c 100644 --- a/BGL/include/CGAL/boost/graph/alpha_expansion_graphcut.h +++ b/BGL/include/CGAL/boost/graph/alpha_expansion_graphcut.h @@ -238,7 +238,7 @@ class Alpha_expansion_boost_adjacency_list_impl // initialize vertex indices, it is necessary since we are using VertexList = listS Vertex_iterator v_begin, v_end; Traits::vertices_size_type index = 0; - for(boost::tie(v_begin, v_end) = vertices(graph); v_begin != v_end; ++v_begin) { + for(std::tie(v_begin, v_end) = vertices(graph); v_begin != v_end; ++v_begin) { boost::put(boost::vertex_index, graph, *v_begin, index++); } } @@ -269,8 +269,8 @@ class Alpha_expansion_boost_adjacency_list_impl Edge_descriptor v1_v2, v2_v1; bool v1_v2_added, v2_v1_added; - boost::tie(v1_v2, v1_v2_added) = boost::add_edge(v1, v2, graph); - boost::tie(v2_v1, v2_v1_added) = boost::add_edge(v2, v1, graph); + std::tie(v1_v2, v1_v2_added) = boost::add_edge(v1, v2, graph); + std::tie(v2_v1, v2_v1_added) = boost::add_edge(v2, v1, graph); CGAL_assertion(v1_v2_added && v2_v1_added); //put edge capacities @@ -360,7 +360,7 @@ class Alpha_expansion_boost_compressed_sparse_row_impl // however from our edge_map, we know that each (2i, 2i + 1) is reverse pairs, how to facilitate that ? // will look it back Graph::edge_iterator ei, ee; - for(boost::tie(ei, ee) = boost::edges(graph); ei != ee; ++ei) { + for(std::tie(ei, ee) = boost::edges(graph); ei != ee; ++ei) { Graph::vertex_descriptor v1 = boost::source(*ei, graph); Graph::vertex_descriptor v2 = boost::target(*ei, graph); std::pair opp_edge = boost::edge(v2, v1, graph); diff --git a/BGL/include/CGAL/boost/graph/helpers.h b/BGL/include/CGAL/boost/graph/helpers.h index 75673493e0db..26b358b3561d 100644 --- a/BGL/include/CGAL/boost/graph/helpers.h +++ b/BGL/include/CGAL/boost/graph/helpers.h @@ -65,7 +65,7 @@ is_border(typename boost::graph_traits::vertex_descriptor vd, const FaceGraph& g) { CGAL::Halfedge_around_target_iterator havib, havie; - for(boost::tie(havib, havie) = halfedges_around_target(halfedge(vd, g), g); havib != havie; ++havib) { + for(std::tie(havib, havie) = halfedges_around_target(halfedge(vd, g), g); havib != havie; ++havib) { if(is_border(*havib,g)) { typename boost::graph_traits::halfedge_descriptor h = *havib; return h; diff --git a/BGL/include/CGAL/boost/graph/split_graph_into_polylines.h b/BGL/include/CGAL/boost/graph/split_graph_into_polylines.h index 679d48896f1a..194bd6b95b1d 100644 --- a/BGL/include/CGAL/boost/graph/split_graph_into_polylines.h +++ b/BGL/include/CGAL/boost/graph/split_graph_into_polylines.h @@ -147,7 +147,7 @@ void duplicate_terminal_vertices(Graph& graph, typedef typename boost::graph_traits::out_edge_iterator out_edge_iterator; vertex_iterator b,e; - boost::tie(b,e) = vertices(graph); + std::tie(b,e) = vertices(graph); std::vector V(b,e); for(vertex_descriptor v : V) { @@ -156,7 +156,7 @@ void duplicate_terminal_vertices(Graph& graph, if (deg != 2 || is_terminal(orig_v, orig)) { out_edge_iterator b, e; - boost::tie(b, e) = out_edges(v, graph); + std::tie(b, e) = out_edges(v, graph); std::vector out_edges_of_v(b, e); for (unsigned int i = 1; i < out_edges_of_v.size(); ++i) { diff --git a/BGL/test/BGL/test_Euler_operations.cpp b/BGL/test/BGL/test_Euler_operations.cpp index 615a4fd756dc..36a9d79c84e9 100644 --- a/BGL/test/BGL/test_Euler_operations.cpp +++ b/BGL/test/BGL/test_Euler_operations.cpp @@ -97,7 +97,7 @@ join_face_test() bool found; halfedge_descriptor e; - boost::tie(e, found) = halfedge(f.w, f.v, f.m); + std::tie(e, found) = halfedge(f.w, f.v, f.m); assert(found); // manually set the halfedge of f.f1 to the edge that is to be // removed to provoke a special case @@ -108,7 +108,7 @@ join_face_test() assert(CGAL::internal::exact_num_edges(f.m) == 6); CGAL::Halfedge_around_face_iterator begin, end; - boost::tie(begin, end) = CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m); + std::tie(begin, end) = CGAL::halfedges_around_face(halfedge(f.f1, f.m), f.m); assert(std::distance(begin, end) == 4); for(; begin != end; ++begin) { @@ -119,7 +119,7 @@ join_face_test() } face_iterator fit, fend; - for(boost::tie(fit, fend) = faces(f.m); fit != fend; ++fit) { + for(std::tie(fit, fend) = faces(f.m); fit != fend; ++fit) { assert(*fit == f.f1 || *fit == f.f3); } @@ -141,7 +141,7 @@ remove_face_test_1() // find the edge between x and y bool found; halfedge_descriptor e; - boost::tie(e, found) = halfedge(f.x, f.y, f.m); + std::tie(e, found) = halfedge(f.x, f.y, f.m); assert(found); assert(face(e, f.m) == f.f3); @@ -156,7 +156,7 @@ remove_face_test_1() assert_EQUAL(CGAL::internal::exact_num_vertices(f.m) == 4); halfedge_iterator eb, ee; int count = 0; - for(boost::tie(eb, ee) = halfedges(f.m); eb != ee; ++eb) { + for(std::tie(eb, ee) = halfedges(f.m); eb != ee; ++eb) { if(face(*eb,f.m) == boost::graph_traits::null_face()) ++count; } @@ -177,9 +177,9 @@ remove_face_test_2() bool found; halfedge_descriptor e; - boost::tie(e, found) = halfedge(f.x, f.w, f.m); + std::tie(e, found) = halfedge(f.x, f.w, f.m); assert(found); - boost::tie(e, found) = halfedge(f.x, f.v, f.m); + std::tie(e, found) = halfedge(f.x, f.v, f.m); assert(found); assert(face(e, f.m) == f.f1); CGAL::Euler::remove_face(e,f.m); @@ -189,7 +189,7 @@ remove_face_test_2() assert(CGAL::internal::exact_num_edges(f.m) == 7); assert(CGAL::internal::exact_num_vertices(f.m) == 5); - boost::tie(e, found) = halfedge(f.x, f.w, f.m); + std::tie(e, found) = halfedge(f.x, f.w, f.m); assert(found); assert(face(e,f.m) == boost::graph_traits::null_face()); @@ -266,7 +266,7 @@ join_vertex_interior_test() halfedge_descriptor e; bool found; - boost::tie(e, found) = halfedge(f.w, f.x, f.m); + std::tie(e, found) = halfedge(f.w, f.x, f.m); assert(found); CGAL::Euler::join_vertex(e,f.m); assert(CGAL::internal::exact_num_faces(f.m) == 2); @@ -289,7 +289,7 @@ join_vertex_exterior_test() Surface_fixture_3 f; halfedge_descriptor e; bool found; - boost::tie(e, found) = halfedge(f.w, f.y, f.m); + std::tie(e, found) = halfedge(f.w, f.y, f.m); assert(source(e,f.m) == f.w); assert(target(e,f.m) == f.y); assert(found); @@ -307,7 +307,7 @@ join_vertex_exterior_test() Surface_fixture_3 f; halfedge_descriptor e; bool found; - boost::tie(e, found) = halfedge(f.y, f.w, f.m); + std::tie(e, found) = halfedge(f.y, f.w, f.m); assert(source(e,f.m) == f.y); assert(target(e,f.m) == f.w); @@ -335,9 +335,9 @@ split_vertex() Surface_fixture_3 f; halfedge_descriptor h1, h2; bool found; - boost::tie(h1, found) = halfedge(f.w, f.y, f.m); + std::tie(h1, found) = halfedge(f.w, f.y, f.m); assert(found); - boost::tie(h2, found) = halfedge(f.z, f.y, f.m); + std::tie(h2, found) = halfedge(f.z, f.y, f.m); assert(found); assert(face(h2, f.m) == Traits::null_face()); @@ -358,13 +358,13 @@ split_join_vertex_inverse() Surface_fixture_3 f; halfedge_descriptor h, h1, h2; bool found; - boost::tie(h, found) = halfedge(f.w, f.x, f.m); + std::tie(h, found) = halfedge(f.w, f.x, f.m); assert(found); CGAL::Euler::join_vertex(h,f.m); assert(CGAL::is_valid_polygon_mesh(f.m)); - boost::tie(h1, found) = halfedge(f.z, f.x, f.m); + std::tie(h1, found) = halfedge(f.z, f.x, f.m); assert(found); - boost::tie(h2, found) = halfedge(f.v, f.x, f.m); + std::tie(h2, found) = halfedge(f.v, f.x, f.m); assert(found); CGAL::Euler::join_vertex(CGAL::Euler::split_vertex(h1, h2,f.m),f.m); assert(CGAL::is_valid_polygon_mesh(f.m)); diff --git a/BGL/test/BGL/test_Face_filtered_graph.cpp b/BGL/test/BGL/test_Face_filtered_graph.cpp index 84e1bbbf69f5..e6cfc53be6ed 100644 --- a/BGL/test/BGL/test_Face_filtered_graph.cpp +++ b/BGL/test/BGL/test_Face_filtered_graph.cpp @@ -29,9 +29,9 @@ void test_halfedge_around_vertex_iterator(const Graph& g) Adapter fg(g, 0, boost::make_assoc_property_map(map)); typename boost::graph_traits::vertex_iterator vit, vend; - for(boost::tie(vit, vend) = vertices(fg); vit != vend; ++vit) { + for(std::tie(vit, vend) = vertices(fg); vit != vend; ++vit) { halfedge_around_target_iterator havit, havend; - for(boost::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, fg), fg); + for(std::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, fg), fg); havit != havend; ++havit) { assert(target(*havit, fg) == *vit); @@ -56,11 +56,11 @@ void test_halfedge_around_face_iterator(const Graph& g) Adapter fg(g, 0, boost::make_assoc_property_map(map)); face_iterator fit, fend; - for(boost::tie(fit, fend) = faces(fg); fit != fend; ++fit) { + for(std::tie(fit, fend) = faces(fg); fit != fend; ++fit) { halfedge_around_face_iterator hafit, hafend; - boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); + std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); assert(std::distance(hafit, hafend) != 0); - for(boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); hafit != hafend; ++hafit) { + for(std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, fg), fg); hafit != hafend; ++hafit) { assert(face(*hafit, fg) == *fit); } } @@ -78,11 +78,11 @@ void test_edge_iterators(const Graph& g) // do we iterate as many as that? edge_iterator eb, ee; - boost::tie(eb, ee) = edges(fg); + std::tie(eb, ee) = edges(fg); assert(static_cast(std::distance(eb, ee)) == num_edges(g)); id_map ids; unsigned int count = 0; - for(boost::tie(eb, ee) = edges(fg); eb != ee; ++eb) { + for(std::tie(eb, ee) = edges(fg); eb != ee; ++eb) { edge_descriptor e = *eb; std::pair r = ids.insert(get(boost::edge_index, g, e)); // unique? @@ -103,7 +103,7 @@ void test_vertex_iterators(Graph& g) Adapter fg(g, 0, boost::make_assoc_property_map(map)); vertex_iterator vb, ve; std::size_t count = 0; - for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb){ + for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb){ ++count; } @@ -113,7 +113,7 @@ void test_vertex_iterators(Graph& g) id_map ids; count = 0; - for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { std::pair r = ids.insert(get(boost::vertex_index, g, *vb)); assert(r.second); ++count; @@ -133,12 +133,12 @@ void test_out_edges(const Graph& g) Adapter fg(g, 0, boost::make_assoc_property_map(map)); vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { id_map v_ids; vertex_descriptor around = *vb; out_edge_iterator oeb, oee; - for(boost::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) { + for(std::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) { vertex_descriptor t = target(*oeb, fg); vertex_descriptor s = source(*oeb, fg); assert(s != t); @@ -162,11 +162,11 @@ void test_in_edges(const Graph& g) Adapter fg(g, 0, boost::make_assoc_property_map(map)); vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { id_map v_ids; vertex_descriptor around = *vb; in_edge_iterator ieb, iee; - for(boost::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) { + for(std::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) { vertex_descriptor t = target(*ieb, fg); vertex_descriptor s = source(*ieb, fg); assert(t == around); @@ -190,18 +190,18 @@ void test_in_out_edges(const Graph& g) // check that the sets of in out edges are the same vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(fg); vb != ve; ++vb) { id_map v_ids; std::vector in, out; in_edge_iterator ieb, iee; - for(boost::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) { + for(std::tie(ieb, iee) = in_edges(*vb, fg); ieb != iee; ++ieb) { std::pair r = v_ids.insert(get(boost::vertex_index, g, source(*ieb, fg))); assert(r.second); in.push_back(source(*ieb, fg)); } out_edge_iterator oeb, oee; - for(boost::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) { + for(std::tie(oeb, oee) = out_edges(*vb, fg); oeb != oee; ++oeb) { std::pair r = v_ids.insert(get(boost::vertex_index, g, target(*oeb, fg))); // insertion must fail @@ -232,7 +232,7 @@ void test_edge_find(const Graph& g) typedef std::pair ret; edge_iterator eb, ee; - for(boost::tie(eb, ee) = edges(fg); eb != ee; ++eb) { + for(std::tie(eb, ee) = edges(fg); eb != ee; ++eb) { vertex_descriptor s = source(*eb, fg); vertex_descriptor t = target(*eb, fg); ret found = edge(s, t, fg); @@ -256,14 +256,14 @@ void test_faces(const Graph& g) unsigned int count = 0; face_iterator fb, fe; - for(boost::tie(fb, fe) = faces(fg); fb != fe; ++fb) { + for(std::tie(fb, fe) = faces(fg); fb != fe; ++fb) { ++count; // reverse look-up halfedge_descriptor assoc = halfedge(*fb, fg); assert(face(assoc, fg) == *fb); // check the enclosure halfedge_around_face_iterator encb, ence; - for(boost::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, fg), fg); encb != ence; ++encb) { + for(std::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, fg), fg); encb != ence; ++encb) { assert(face(*encb, fg) == *fb); } } diff --git a/BGL/test/BGL/test_Prefix.h b/BGL/test/BGL/test_Prefix.h index ca92ed230f2e..8ad09acdf93d 100644 --- a/BGL/test/BGL/test_Prefix.h +++ b/BGL/test/BGL/test_Prefix.h @@ -238,7 +238,7 @@ struct Surface_fixture_1 { pm = get(CGAL::vertex_point, const_cast(m)); typename boost::graph_traits::vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) { if (get(pm, *vb) == Point_3(0, 0, 0)) u = *vb; else if(get(pm, *vb) == Point_3(1, 0, 0)) @@ -259,13 +259,13 @@ struct Surface_fixture_1 { f1 = CGAL::is_border(halfedge(u, m),m) ? face(opposite(halfedge(u, m), m), m) : face(halfedge(u, m), m); assert(f1 != boost::graph_traits::null_face()); CGAL::Halfedge_around_face_iterator hafib, hafie; - for(boost::tie(hafib, hafie) = CGAL::halfedges_around_face(halfedge(f1, m), m); hafib != hafie; ++hafib) + for(std::tie(hafib, hafie) = CGAL::halfedges_around_face(halfedge(f1, m), m); hafib != hafie; ++hafib) { if(! CGAL::is_border(opposite(*hafib, m), m)) f2 = face(opposite(*hafib, m), m); } typename boost::graph_traits::face_iterator fb, fe; - for(boost::tie(fb, fe) = faces(m); fb != fe; ++fb) { + for(std::tie(fb, fe) = faces(m); fb != fe; ++fb) { if(*fb != f1 && *fb != f2) f3 = *fb; } @@ -289,7 +289,7 @@ struct Surface_fixture_2 { pm = get(CGAL::vertex_point, const_cast(m)); typename boost::graph_traits::vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) { if (get(pm, *vb) == Point_3(0, 2, 0)) u = *vb; else if(get(pm, *vb) == Point_3(2, 2, 0)) @@ -308,25 +308,25 @@ struct Surface_fixture_2 { assert(y != boost::graph_traits::null_vertex()); typename boost::graph_traits::halfedge_descriptor h; bool found; - boost::tie(h, found) = halfedge(x, v, m); + std::tie(h, found) = halfedge(x, v, m); assert(found); assert(! CGAL::is_border(h,m)); f1 = face(h, m); assert(f1 != boost::graph_traits::null_face()); - boost::tie(h, found) = halfedge(v, u, m); + std::tie(h, found) = halfedge(v, u, m); assert(found); assert(!CGAL::is_border(h,m)); f2 = face(h, m); assert(f2 != boost::graph_traits::null_face()); - boost::tie(h, found) = halfedge(u, w, m); + std::tie(h, found) = halfedge(u, w, m); assert(found); assert(!CGAL::is_border(h,m)); f3 = face(h, m); assert(f3 != boost::graph_traits::null_face()); - boost::tie(h, found) = halfedge(w, x, m); + std::tie(h, found) = halfedge(w, x, m); assert(found); assert(!CGAL::is_border(h,m)); f4 = face(h, m); @@ -351,7 +351,7 @@ struct Surface_fixture_3 { pm = get(CGAL::vertex_point, const_cast(m)); typename boost::graph_traits::vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(m); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(m); vb != ve; ++vb) { if (get(pm, *vb) == Point_3(0, 1, 0)) u = *vb; else if(get(pm, *vb) == Point_3(0, 0, 0)) @@ -399,7 +399,7 @@ struct Surface_fixture_4 { int found = 0; typename boost::graph_traits::halfedge_iterator hb, he; - for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) { + for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) { if(CGAL::is_border(*hb,m)){ if(get(pm, target(*hb,m)) == Point_3(0,0,0)){ if(found == 0){ @@ -435,7 +435,7 @@ struct Surface_fixture_5 { int found = 0; typename boost::graph_traits::halfedge_iterator hb, he; - for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) { + for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) { if(CGAL::is_border(*hb,m)){ if(get(pm, target(*hb,m)) == Point_3(2,1,0)){ h1 = *hb; @@ -500,7 +500,7 @@ struct Surface_fixture_8 { int found = 0; typename boost::graph_traits::halfedge_iterator hb, he; - for(boost::tie(hb, he) = halfedges(m); hb != he; ++hb) { + for(std::tie(hb, he) = halfedges(m); hb != he; ++hb) { if(get(pm, source(*hb,m)) == Point_3(0,0,0) && get(pm, target(*hb,m)) == Point_3(1,0,0)){ h1 = *hb; diff --git a/BGL/test/BGL/test_bgl_dual.cpp b/BGL/test/BGL/test_bgl_dual.cpp index 9a79832fcb9f..e6a6330a2567 100644 --- a/BGL/test/BGL/test_bgl_dual.cpp +++ b/BGL/test/BGL/test_bgl_dual.cpp @@ -42,13 +42,13 @@ int main() { out_edge_iterator b,e; - boost::tie(b,e) = out_edges(vd,dual); + std::tie(b,e) = out_edges(vd,dual); std::cerr << vd << " " << source(*b,dual) << std::endl; } { in_edge_iterator b,e; - boost::tie(b,e) = in_edges(vd,dual); + std::tie(b,e) = in_edges(vd,dual); std::cerr << vd << " " << source(*b,dual) << std::endl; } std::cerr << "done"<< std::endl; diff --git a/BGL/test/BGL/test_circulator.cpp b/BGL/test/BGL/test_circulator.cpp index 1c862324bb60..cd0a18cbbe44 100644 --- a/BGL/test/BGL/test_circulator.cpp +++ b/BGL/test/BGL/test_circulator.cpp @@ -102,7 +102,7 @@ int main(int argc, char* argv[]) { halfedge_around_target_iterator vit, end; vertex_descriptor vd = target(hd,P); - boost::tie(vit,end) = halfedges_around_target(hd,P); + std::tie(vit,end) = halfedges_around_target(hd,P); while(vit!= end) { halfedge_descriptor hd = *vit; assert(target(hd,P) == vd); @@ -113,7 +113,7 @@ int main(int argc, char* argv[]) { halfedge_around_face_iterator vit, end; - boost::tie(vit,end) = halfedges_around_face(hd,P); + std::tie(vit,end) = halfedges_around_face(hd,P); while(vit!= end) { halfedge_descriptor hd = *vit; @@ -125,7 +125,7 @@ int main(int argc, char* argv[]) { out_edge_iterator ohi, end; - for(boost::tie(ohi,end) = out_edges(target(hd,P),P); ohi != end; ++ohi){ + for(std::tie(ohi,end) = out_edges(target(hd,P),P); ohi != end; ++ohi){ edge_descriptor ed = *ohi; halfedge_descriptor hd2 = halfedge(ed,P); std::cout << get(CGAL::vertex_point, P, target(hd2,P)) << std::endl; diff --git a/BGL/test/BGL/test_graph_traits.cpp b/BGL/test/BGL/test_graph_traits.cpp index 082469a58a9d..19e03408f21d 100644 --- a/BGL/test/BGL/test_graph_traits.cpp +++ b/BGL/test/BGL/test_graph_traits.cpp @@ -26,9 +26,9 @@ void test_halfedge_around_vertex_iterator(const Graph& g) { CGAL_GRAPH_TRAITS_MEMBERS(Graph); vertex_iterator vit, vend; - for(boost::tie(vit, vend) = vertices(g); vit != vend; ++vit) { + for(std::tie(vit, vend) = vertices(g); vit != vend; ++vit) { halfedge_around_target_iterator havit, havend; - for(boost::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, g), g); + for(std::tie(havit, havend) = CGAL::halfedges_around_target(halfedge(*vit, g), g); havit != havend; ++havit) { assert(target(*havit, g) == *vit); @@ -47,11 +47,11 @@ void test_halfedge_around_face_iterator(const Graph& g) { CGAL_GRAPH_TRAITS_MEMBERS(Graph); face_iterator fit, fend; - for(boost::tie(fit, fend) = faces(g); fit != fend; ++fit) { + for(std::tie(fit, fend) = faces(g); fit != fend; ++fit) { halfedge_around_face_iterator hafit, hafend; - boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); + std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); assert(std::distance(hafit, hafend) != 0); - for(boost::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); hafit != hafend; ++hafit) { + for(std::tie(hafit, hafend) = CGAL::halfedges_around_face(halfedge(*fit, g), g); hafit != hafend; ++hafit) { assert(face(*hafit, g) == *fit); } } @@ -66,12 +66,12 @@ void test_halfedge_iterators(const G& g) // do we iterate as many as that? halfedge_iterator hb, he; - boost::tie(hb, he) = halfedges(g); + std::tie(hb, he) = halfedges(g); assert(static_cast(std::distance(hb, he)) == num_halfedges(g)); id_map ids; unsigned int count = 0; - for(boost::tie(hb, he) = halfedges(g); hb != he; ++hb) { + for(std::tie(hb, he) = halfedges(g); hb != he; ++hb) { std::pair r = ids.insert(get(boost::halfedge_index, g, *hb)); // unique? assert(r.second); @@ -92,12 +92,12 @@ void test_edge_iterators(const G& g) // do we iterate as many as that? edge_iterator eb, ee; - boost::tie(eb, ee) = edges(g); + std::tie(eb, ee) = edges(g); assert(static_cast(std::distance(eb, ee)) == num_edges(g)); id_map ids; unsigned int count = 0; - for(boost::tie(eb, ee) = edges(g); eb != ee; ++eb) { + for(std::tie(eb, ee) = edges(g); eb != ee; ++eb) { edge_descriptor e = *eb; std::pair r = ids.insert(get(boost::edge_index, g, e)); // unique? @@ -115,7 +115,7 @@ void test_vertex_iterators(const G& g) vertex_iterator vb, ve; std::size_t count = 0; - for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb){ + for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb){ ++count; } @@ -125,7 +125,7 @@ void test_vertex_iterators(const G& g) id_map ids; count = 0; - for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) { std::pair r = ids.insert(get(boost::vertex_index, g, *vb)); assert(r.second); ++count; @@ -142,12 +142,12 @@ void test_out_edges(const G& g) typedef typename Traits::vertex_descriptor vertex_descriptor; vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) { id_map v_ids; vertex_descriptor around = *vb; out_edge_iterator oeb, oee; - for(boost::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) { + for(std::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) { vertex_descriptor t = target(*oeb, g); vertex_descriptor s = source(*oeb, g); assert(s != t); @@ -169,11 +169,11 @@ void test_in_edges(const G& g) typedef typename Traits::vertex_descriptor vertex_descriptor; vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) { id_map v_ids; vertex_descriptor around = *vb; in_edge_iterator ieb, iee; - for(boost::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) { + for(std::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) { vertex_descriptor t = target(*ieb, g); vertex_descriptor s = source(*ieb, g); assert(t == around); @@ -196,18 +196,18 @@ void test_in_out_edges(const G& g) // check that the sets of in out edges are the same vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(g); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(g); vb != ve; ++vb) { id_map v_ids; std::vector in, out; in_edge_iterator ieb, iee; - for(boost::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) { + for(std::tie(ieb, iee) = in_edges(*vb, g); ieb != iee; ++ieb) { std::pair r = v_ids.insert(get(boost::vertex_index, g, source(*ieb, g))); assert(r.second); in.push_back(source(*ieb, g)); } out_edge_iterator oeb, oee; - for(boost::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) { + for(std::tie(oeb, oee) = out_edges(*vb, g); oeb != oee; ++oeb) { std::pair r = v_ids.insert(get(boost::vertex_index, g, target(*oeb, g))); // insertion must fail @@ -239,13 +239,13 @@ void test_adjacent_vertices(const G& g) vertex_descriptor v = *(vertices(g).begin()); adjacency_iterator vb, ve; - boost::tie(vb, ve) = adjacent_vertices(v, g); + std::tie(vb, ve) = adjacent_vertices(v, g); in_edge_iterator ieb, iee; - boost::tie(ieb, iee) = in_edges(v, g); + std::tie(ieb, iee) = in_edges(v, g); out_edge_iterator oeb, oee; - boost::tie(oeb, oee) = out_edges(v, g); + std::tie(oeb, oee) = out_edges(v, g); assert(std::distance(vb, ve) == std::distance(ieb, iee)); assert(std::distance(vb, ve) == std::distance(oeb, oee)); @@ -271,7 +271,7 @@ void test_edge_find(const G& g) typedef std::pair ret; edge_iterator eb, ee; - for(boost::tie(eb, ee) = edges(g); eb != ee; ++eb) { + for(std::tie(eb, ee) = edges(g); eb != ee; ++eb) { vertex_descriptor s = source(*eb, g); vertex_descriptor t = target(*eb, g); ret found = edge(s, t, g); @@ -293,14 +293,14 @@ void test_faces(const G& g) unsigned int count = 0; face_iterator fb, fe; - for(boost::tie(fb, fe) = faces(g); fb != fe; ++fb) { + for(std::tie(fb, fe) = faces(g); fb != fe; ++fb) { ++count; // reverse look-up halfedge_descriptor assoc = halfedge(*fb, g); assert(face(assoc, g) == *fb); // check the enclosure halfedge_around_face_iterator encb, ence; - for(boost::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, g), g); encb != ence; ++encb) { + for(std::tie(encb, ence) = CGAL::halfedges_around_face(halfedge(*fb, g), g); encb != ence; ++encb) { assert(face(*encb, g) == *fb); } } diff --git a/Basic_viewer/examples/Basic_viewer/draw_surface_mesh_small_faces.cpp b/Basic_viewer/examples/Basic_viewer/draw_surface_mesh_small_faces.cpp index 5c98556e0cf0..f7f677e96601 100644 --- a/Basic_viewer/examples/Basic_viewer/draw_surface_mesh_small_faces.cpp +++ b/Basic_viewer/examples/Basic_viewer/draw_surface_mesh_small_faces.cpp @@ -92,7 +92,7 @@ int main(int argc, char* argv[]) Mesh::Property_map faces_size; bool created; - boost::tie(faces_size, created)=sm.add_property_map("f:size",0.); + std::tie(faces_size, created)=sm.add_property_map("f:size",0.); assert(created); for(face_descriptor fd : sm.faces()) diff --git a/CGAL_ipelets/demo/CGAL_ipelets/alpha_shapes.cpp b/CGAL_ipelets/demo/CGAL_ipelets/alpha_shapes.cpp index f5423b0ab196..0aa825dcd778 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/alpha_shapes.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/alpha_shapes.cpp @@ -85,7 +85,7 @@ void ASphapeIpelet::protected_run(int fn) Alpha_shape_2 A(LWP.begin(),LWP.end()); int alpha=-1; int nb_ret; - boost::tie(nb_ret,alpha)=request_value_from_user((boost::format("# Spectral critical value (0-%d)") % A.number_of_alphas()).str() ); + std::tie(nb_ret,alpha)=request_value_from_user((boost::format("# Spectral critical value (0-%d)") % A.number_of_alphas()).str() ); if (nb_ret == -1) return; if(alpha<0 || (std::size_t) alpha>A.number_of_alphas()){ diff --git a/CGAL_ipelets/demo/CGAL_ipelets/cone_spanners.cpp b/CGAL_ipelets/demo/CGAL_ipelets/cone_spanners.cpp index 97aad8daa24f..826ef5493649 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/cone_spanners.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/cone_spanners.cpp @@ -86,7 +86,7 @@ void Cone_spanners_ipelet::protected_run(int fn) } int ret_val; - boost::tie(ret_val,number_of_cones)=request_value_from_user("Enter the number of cones"); + std::tie(ret_val,number_of_cones)=request_value_from_user("Enter the number of cones"); if (ret_val < 0) { print_error_message("Incorrect value"); return; @@ -129,7 +129,7 @@ void Cone_spanners_ipelet::protected_run(int fn) } } boost::graph_traits::edge_iterator ei, ei_end; - for (boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { + for (std::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { boost::graph_traits::edge_descriptor e = *ei; boost::graph_traits::vertex_descriptor u = source(e, g); boost::graph_traits::vertex_descriptor v = target(e, g); diff --git a/CGAL_ipelets/demo/CGAL_ipelets/generator.cpp b/CGAL_ipelets/demo/CGAL_ipelets/generator.cpp index 92104a15cffe..0c35beae1317 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/generator.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/generator.cpp @@ -83,7 +83,7 @@ void generator::protected_run(int fn) origin= Kernel::Vector_2((bbox.xmin()+bbox.xmax())/2,(bbox.ymin()+bbox.ymax())/2); if (size<1){ size=200; - //boost::tie(ret_val,size)=request_value_from_user((boost::format("Size (default : %1%)") % size).str()); + //std::tie(ret_val,size)=request_value_from_user((boost::format("Size (default : %1%)") % size).str()); //if (ret_val == -1) return; //if (ret_val == 0) size=200; origin = Kernel::Vector_2(200,200); @@ -92,7 +92,7 @@ void generator::protected_run(int fn) int nbelements=30; - boost::tie(ret_val,nbelements)=request_value_from_user((boost::format("Number of elements (default : %1%)") % nbelements).str() ); + std::tie(ret_val,nbelements)=request_value_from_user((boost::format("Number of elements (default : %1%)") % nbelements).str() ); if (ret_val == -1) return; if (ret_val == 0) nbelements=30; diff --git a/CGAL_ipelets/demo/CGAL_ipelets/mesh_2.cpp b/CGAL_ipelets/demo/CGAL_ipelets/mesh_2.cpp index 8b4a70e49fe3..f737113bbd6e 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/mesh_2.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/mesh_2.cpp @@ -94,7 +94,7 @@ void IpeletMesh2::protected_run(int fn) int y=static_cast( floor((bbox.max)().y()-(bbox.min)().y()) ); int ret_val; - boost::tie(ret_val,alpha)=request_value_from_user((boost::format("Max edge length (BBox %1%x%2%)") % x % y).str() ); + std::tie(ret_val,alpha)=request_value_from_user((boost::format("Max edge length (BBox %1%x%2%)") % x % y).str() ); if (ret_val == -1) return; if(alpha<0){ diff --git a/CGAL_ipelets/demo/CGAL_ipelets/mst.cpp b/CGAL_ipelets/demo/CGAL_ipelets/mst.cpp index 2d3f050d6cdf..add1a29eb064 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/mst.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/mst.cpp @@ -82,9 +82,9 @@ void mstIpelet::protected_run(int /*fn*/) vertex_iterator vit, ve; // Associate indices to the vertices int index = 0; - // boost::tie assigns the first and second element of the std::pair + // std::tie assigns the first and second element of the std::pair // returned by boost::vertices to the variables vit and ve - for(boost::tie(vit,ve)=boost::vertices(ft); vit!=ve; ++vit ){ + for(std::tie(vit,ve)=boost::vertices(ft); vit!=ve; ++vit ){ vertex_descriptor vd = *vit; vertex_id_map[vd] = index++; } diff --git a/CGAL_ipelets/demo/CGAL_ipelets/multi_delaunay.cpp b/CGAL_ipelets/demo/CGAL_ipelets/multi_delaunay.cpp index 9361353d5759..56244ed708fe 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/multi_delaunay.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/multi_delaunay.cpp @@ -172,7 +172,7 @@ void MdelaunayIpelet::protected_run(int fn) if(fn==4 ||fn==9){ int order; int ret_val; - boost::tie(ret_val,order)=request_value_from_user("Enter order"); + std::tie(ret_val,order)=request_value_from_user("Enter order"); if (ret_val < 0){ print_error_message("Incorrect value"); return; diff --git a/CGAL_ipelets/demo/CGAL_ipelets/multi_regular.cpp b/CGAL_ipelets/demo/CGAL_ipelets/multi_regular.cpp index 3727c4870408..731f8a1181f2 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/multi_regular.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/multi_regular.cpp @@ -80,7 +80,7 @@ void MregularIpelet::protected_run(int fn) if(fn==4 || fn==9){ int ret_val; - boost::tie(ret_val,order)=request_value_from_user("Enter order"); + std::tie(ret_val,order)=request_value_from_user("Enter order"); if (ret_val < 0){ print_error_message("Incorrect value"); return; diff --git a/CGAL_ipelets/demo/CGAL_ipelets/nearest_neighbor_graph.cpp b/CGAL_ipelets/demo/CGAL_ipelets/nearest_neighbor_graph.cpp index bf1954cf307a..73f99255cb8a 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/nearest_neighbor_graph.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/nearest_neighbor_graph.cpp @@ -56,7 +56,7 @@ void nngIpelet::protected_run(int fn) int ret_val; int kNeighbors=1; - boost::tie(ret_val,kNeighbors)=request_value_from_user((boost::format("Number of nearest neighbors (default : k=%1%)") % kNeighbors).str() ); + std::tie(ret_val,kNeighbors)=request_value_from_user((boost::format("Number of nearest neighbors (default : k=%1%)") % kNeighbors).str() ); if (ret_val == -1) return; if (ret_val == 0) kNeighbors=1; diff --git a/CGAL_ipelets/demo/CGAL_ipelets/skeleton.cpp b/CGAL_ipelets/demo/CGAL_ipelets/skeleton.cpp index 71557e659689..6ba3994a5845 100644 --- a/CGAL_ipelets/demo/CGAL_ipelets/skeleton.cpp +++ b/CGAL_ipelets/demo/CGAL_ipelets/skeleton.cpp @@ -124,7 +124,7 @@ void SkeletonIpelet::protected_run(int fn) if (fn==0 || fn==1) draw_straight_skeleton(*ss,max_edge); else{ - boost::tie(ret_val,dist)= + std::tie(ret_val,dist)= request_value_from_user( (boost::format("Offset value (BBox %1%x%2%)") % (bbox.xmax()-bbox.xmin()) % (bbox.ymax()-bbox.ymin())).str() ); diff --git a/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h b/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h index 2a5c8e6e9c77..53ef4ff89e5c 100644 --- a/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h +++ b/Classification/include/CGAL/Classification/Feature/Vertical_dispersion.h @@ -127,7 +127,7 @@ class Vertical_dispersion : public Feature_base continue; std::vector::iterator min_it, max_it; - boost::tie(min_it, max_it) + std::tie(min_it, max_it) = boost::minmax_element (hori.begin(), hori.end()); std::vector occupy (1 + (std::size_t)((*max_it - *min_it) / grid.resolution()), false); diff --git a/Classification/include/CGAL/Classification/Point_set_neighborhood.h b/Classification/include/CGAL/Classification/Point_set_neighborhood.h index c27c874f0c23..5a0514260886 100644 --- a/Classification/include/CGAL/Classification/Point_set_neighborhood.h +++ b/Classification/include/CGAL/Classification/Point_set_neighborhood.h @@ -317,9 +317,8 @@ class Point_set_neighborhood Point ref (std::floor(p.x() / voxel_size), std::floor(p.y() / voxel_size), std::floor(p.z() / voxel_size)); - typename std::map >::iterator it; - boost::tie (it, boost::tuples::ignore) - = grid.insert (std::make_pair (ref, std::vector())); + typename std::map >::iterator it + = grid.insert (std::make_pair (ref, std::vector())).first; it->second.push_back (i); } diff --git a/Classification/test/Classification/test_classification_point_set.cpp b/Classification/test/Classification/test_classification_point_set.cpp index 0a1dc9cee791..bb0cce757969 100644 --- a/Classification/test/Classification/test_classification_point_set.cpp +++ b/Classification/test/Classification/test_classification_point_set.cpp @@ -53,9 +53,9 @@ int main (int, char**) map_added = pts.add_normal_map().second; assert (map_added); normal_map = pts.normal_map(); - boost::tie (echo_map, map_added) = pts.add_property_map ("echo"); + std::tie (echo_map, map_added) = pts.add_property_map ("echo"); assert (map_added); - boost::tie (color_map, map_added) = pts.add_property_map ("color"); + std::tie (color_map, map_added) = pts.add_property_map ("color"); assert (map_added); for (std::size_t i = 0; i < 1000; ++ i) diff --git a/Cone_spanners_2/examples/Cone_spanners_2/dijkstra_theta.cpp b/Cone_spanners_2/examples/Cone_spanners_2/dijkstra_theta.cpp index 52f382fa6083..62d788ee2c3b 100644 --- a/Cone_spanners_2/examples/Cone_spanners_2/dijkstra_theta.cpp +++ b/Cone_spanners_2/examples/Cone_spanners_2/dijkstra_theta.cpp @@ -72,7 +72,7 @@ int main(int argc, char ** argv) // calculating edge length in Euclidean distance and store them in the edge property boost::graph_traits::edge_iterator ei, ei_end; - for (boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { + for (std::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { boost::graph_traits::edge_descriptor e = *ei; boost::graph_traits::vertex_descriptor u = source(e, g); boost::graph_traits::vertex_descriptor v = target(e, g); diff --git a/Cone_spanners_2/include/CGAL/Construct_theta_graph_2.h b/Cone_spanners_2/include/CGAL/Construct_theta_graph_2.h index 3d1ebc15efbd..5a6a73299fb3 100644 --- a/Cone_spanners_2/include/CGAL/Construct_theta_graph_2.h +++ b/Cone_spanners_2/include/CGAL/Construct_theta_graph_2.h @@ -193,7 +193,7 @@ class Construct_theta_graph_2 { const Less_by_direction orderMid(g, cw90(bisector_direction)); typename Graph_::vertex_iterator vit, ve; - boost::tie(vit, ve) = boost::vertices(g); + std::tie(vit, ve) = boost::vertices(g); // Step 1: Sort S according to order induced by D1 std::vector S(vit, ve); @@ -218,7 +218,7 @@ class Construct_theta_graph_2 { typename Graph_::edge_descriptor existing_e; bool existing; // check whether the edge already exists - boost::tie(existing_e, existing)=boost::edge(*it, *ri, g); + std::tie(existing_e, existing)=boost::edge(*it, *ri, g); if (!existing) boost::add_edge(*it, *ri, g); } diff --git a/Cone_spanners_2/include/CGAL/Construct_yao_graph_2.h b/Cone_spanners_2/include/CGAL/Construct_yao_graph_2.h index 7f6fdb16a17f..58090bdd5067 100644 --- a/Cone_spanners_2/include/CGAL/Construct_yao_graph_2.h +++ b/Cone_spanners_2/include/CGAL/Construct_yao_graph_2.h @@ -179,7 +179,7 @@ class Construct_yao_graph_2 { const Less_by_direction orderD2 (g, cwBound); typename Graph_::vertex_iterator vit, ve; - boost::tie(vit, ve) = boost::vertices(g); + std::tie(vit, ve) = boost::vertices(g); // Step 1: Sort S according to order induced by D1 std::vector S(vit, ve); @@ -205,7 +205,7 @@ class Construct_yao_graph_2 { typename Graph_::edge_descriptor existing_e; bool existing; // check whether the edge already exists - boost::tie(existing_e, existing)=boost::edge(*it, *min, g); + std::tie(existing_e, existing)=boost::edge(*it, *min, g); if (!existing) boost::add_edge(*it, *min, g); } diff --git a/Cone_spanners_2/include/CGAL/gnuplot_output_2.h b/Cone_spanners_2/include/CGAL/gnuplot_output_2.h index d2cb402e37ae..ac3fcebb9112 100644 --- a/Cone_spanners_2/include/CGAL/gnuplot_output_2.h +++ b/Cone_spanners_2/include/CGAL/gnuplot_output_2.h @@ -109,7 +109,7 @@ std::string gnuplot_edge_list (const Graph& g) ss << std::fixed; // Use fixed floating-point notation typename Graph::edge_iterator eit, ee; - for (boost::tie(eit, ee) = boost::edges(g); eit != ee; ++eit) { + for (std::tie(eit, ee) = boost::edges(g); eit != ee; ++eit) { typename Graph::vertex_descriptor src = boost::source(*eit, g); typename Graph::vertex_descriptor end = boost::target(*eit, g); ss << "set arrow from "; @@ -129,7 +129,7 @@ std::string gnuplot_vertex_list(const Graph& g) { ss << std::fixed; typename Graph::vertex_iterator vit, ve; - for (boost::tie(vit, ve) = boost::vertices(g); vit != ve; ++vit) { + for (std::tie(vit, ve) = boost::vertices(g); vit != ve; ++vit) { ss << to_double(g[*vit].x()) << " " << to_double(g[*vit].y()) << std::endl; } return ss.str(); diff --git a/Convex_hull_3/include/CGAL/convex_hull_3.h b/Convex_hull_3/include/CGAL/convex_hull_3.h index eac141440733..b2089fdc53cd 100644 --- a/Convex_hull_3/include/CGAL/convex_hull_3.h +++ b/Convex_hull_3/include/CGAL/convex_hull_3.h @@ -963,7 +963,7 @@ convex_hull_3(InputIterator first, InputIterator beyond, } CGAL_assertion(num_vertices(P)>=3); typename boost::graph_traits::vertex_iterator b,e; - boost::tie(b,e) = vertices(P); + std::tie(b,e) = vertices(P); if (num_vertices(P) == 3){ typename boost::property_map::type vpmap = get(CGAL::vertex_point, P); typedef typename Traits::Triangle_3 Triangle_3; diff --git a/Convex_hull_3/include/CGAL/convexity_check_3.h b/Convex_hull_3/include/CGAL/convexity_check_3.h index cd18bf1d394f..b895641d98cf 100644 --- a/Convex_hull_3/include/CGAL/convexity_check_3.h +++ b/Convex_hull_3/include/CGAL/convexity_check_3.h @@ -83,7 +83,7 @@ bool is_strongly_convex_3(const Polyhedron& P, const Traits& traits) typename boost::property_map::const_type vpmap = get(CGAL::vertex_point, P); vertex_iterator v_it, v_it_e; - boost::tie(v_it, v_it_e) = vertices(P); + std::tie(v_it, v_it_e) = vertices(P); if (v_it == v_it_e) return false; @@ -97,7 +97,7 @@ bool is_strongly_convex_3(const Polyhedron& P, const Traits& traits) typename Traits::Coplanar_3 coplanar = traits.coplanar_3_object(); face_iterator f_it, f_it_e; - boost::tie(f_it, f_it_e) = faces(P); + std::tie(f_it, f_it_e) = faces(P); Point_3 p; Point_3 q; Point_3 r; diff --git a/HalfedgeDS/include/CGAL/boost/graph/properties_HalfedgeDS_base.h b/HalfedgeDS/include/CGAL/boost/graph/properties_HalfedgeDS_base.h index a39cfd907154..3863b149e4fe 100644 --- a/HalfedgeDS/include/CGAL/boost/graph/properties_HalfedgeDS_base.h +++ b/HalfedgeDS/include/CGAL/boost/graph/properties_HalfedgeDS_base.h @@ -70,7 +70,7 @@ class HDS_edge_index_map_external { unsigned int data = 0; typename boost::graph_traits::edge_iterator it, end; - for(boost::tie(it, end) = edges(p); it != end; ++it, ++data) + for(std::tie(it, end) = edges(p); it != end; ++it, ++data) (*map_)[*it] = data; } diff --git a/Hash_map/benchmark/Hash_map/hm.cpp b/Hash_map/benchmark/Hash_map/hm.cpp index 891ca23ef10c..070b7c7cd4dc 100644 --- a/Hash_map/benchmark/Hash_map/hm.cpp +++ b/Hash_map/benchmark/Hash_map/hm.cpp @@ -157,11 +157,11 @@ run(const G& g) #if 0 - std::cerr << "boost::tie(vb,ve) = vertices(g);\n"; + std::cerr << "std::tie(vb,ve) = vertices(g);\n"; t.reset(); t.start(); for(int i=0; i<100; i++){ typename boost::graph_traits::vertex_iterator vb, ve; - boost::tie(vb,ve) = vertices(g); + std::tie(vb,ve) = vertices(g); for(; vb != ve; ++vb) { vertex_descriptor vd = *vb; #ifdef NOHASH diff --git a/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h b/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h index a4510dd552c9..16078898df63 100644 --- a/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h +++ b/Heat_method_3/include/CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h @@ -297,7 +297,7 @@ class Surface_mesh_geodesic_distances_3 } CGAL::Vertex_around_face_iterator vbegin, vend, vmiddle; for(face_descriptor f : faces(tm)) { - boost::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); + std::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); vertex_descriptor current = *(vbegin); vertex_descriptor neighbor_one = *(++vbegin); vertex_descriptor neighbor_two = *(++vbegin); @@ -350,7 +350,7 @@ class Surface_mesh_geodesic_distances_3 Matrix indexD(dimension,1); CGAL::Vertex_around_face_iterator vbegin, vend, vmiddle; for(face_descriptor f : faces(tm)) { - boost::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); + std::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); vertex_descriptor current = *(vbegin); vertex_descriptor neighbor_one = *(++vbegin); vertex_descriptor neighbor_two = *(++vbegin); @@ -514,7 +514,7 @@ class Surface_mesh_geodesic_distances_3 CGAL::Vertex_around_face_iterator vbegin, vend, vmiddle; for(face_descriptor f : faces(tm)) { - boost::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); + std::tie(vbegin, vend) = vertices_around_face(halfedge(f,tm),tm); vertex_descriptor current = *(vbegin); vertex_descriptor neighbor_one = *(++vbegin); vertex_descriptor neighbor_two = *(++vbegin); diff --git a/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h b/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h index 77a399704ec1..64a61c993ba4 100644 --- a/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h +++ b/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h @@ -446,7 +446,7 @@ class Intrinsic_Delaunay_triangulation_3 for(face_descriptor f : faces(m_intrinsic_tm)) { CGAL::Vertex_around_face_iterator vbegin, vend, vmiddle; - boost::tie(vbegin, vend) = vertices_around_face(halfedge(f,m_intrinsic_tm),m_intrinsic_tm); + std::tie(vbegin, vend) = vertices_around_face(halfedge(f,m_intrinsic_tm),m_intrinsic_tm); halfedge_descriptor hd = halfedge(f,m_intrinsic_tm); if(face(hd,m_intrinsic_tm) != f) { hd = opposite(hd,m_intrinsic_tm); diff --git a/Lab/demo/Lab/Plugins/Classification/Cluster_classification.cpp b/Lab/demo/Lab/Plugins/Classification/Cluster_classification.cpp index 5b7e647e96c9..689d2c5b3186 100644 --- a/Lab/demo/Lab/Plugins/Classification/Cluster_classification.cpp +++ b/Lab/demo/Lab/Plugins/Classification/Cluster_classification.cpp @@ -46,9 +46,9 @@ Cluster_classification::Cluster_classification(Scene_points_with_normal_item* po std::cerr << m_clusters.size() << " cluster(s) found" << std::endl; bool training_found = false; - boost::tie (m_training, training_found) = m_points->point_set()->add_property_map("training", -1); + std::tie (m_training, training_found) = m_points->point_set()->add_property_map("training", -1); bool classif_found = false; - boost::tie (m_classif, classif_found) = m_points->point_set()->add_property_map("label", -1); + std::tie (m_classif, classif_found) = m_points->point_set()->add_property_map("label", -1); training_found = !training_found; // add_property_map returns false if classif_found = !classif_found; // property was already there diff --git a/Lab/demo/Lab/Plugins/Classification/Point_set_item_classification.cpp b/Lab/demo/Lab/Plugins/Classification/Point_set_item_classification.cpp index 11ef26725a6d..a51694776613 100644 --- a/Lab/demo/Lab/Plugins/Classification/Point_set_item_classification.cpp +++ b/Lab/demo/Lab/Plugins/Classification/Point_set_item_classification.cpp @@ -41,9 +41,9 @@ Point_set_item_classification::Point_set_item_classification(Scene_points_with_n backup_existing_colors_and_add_new(); bool training_found = false; - boost::tie (m_training, training_found) = m_points->point_set()->add_property_map("training", -1); + std::tie (m_training, training_found) = m_points->point_set()->add_property_map("training", -1); bool classif_found = false; - boost::tie (m_classif, classif_found) = m_points->point_set()->add_property_map("label", -1); + std::tie (m_classif, classif_found) = m_points->point_set()->add_property_map("label", -1); training_found = !training_found; // add_property_map returns false if classif_found = !classif_found; // property was already there diff --git a/Lab/demo/Lab/Plugins/Mesh_2/Mesh_2_plugin.cpp b/Lab/demo/Lab/Plugins/Mesh_2/Mesh_2_plugin.cpp index e55c30779bb6..515ad8a999c0 100644 --- a/Lab/demo/Lab/Plugins/Mesh_2/Mesh_2_plugin.cpp +++ b/Lab/demo/Lab/Plugins/Mesh_2/Mesh_2_plugin.cpp @@ -124,7 +124,7 @@ void cdt2_to_face_graph(const CDT& cdt, TriangleMesh& tm, int constant_coordinat { typename Map::iterator it; bool insert_ok; - boost::tie(it,insert_ok) = + std::tie(it,insert_ok) = descriptors.insert(std::make_pair(fit->vertex(i),vertex_descriptor())); if (insert_ok){ const Kernel::Point_3& pt=fit->vertex(i)->point(); diff --git a/Lab/demo/Lab/Plugins/PMP/Engrave_text_plugin.cpp b/Lab/demo/Lab/Plugins/PMP/Engrave_text_plugin.cpp index 1adc2ae81ea1..b0a7ca79f352 100644 --- a/Lab/demo/Lab/Plugins/PMP/Engrave_text_plugin.cpp +++ b/Lab/demo/Lab/Plugins/PMP/Engrave_text_plugin.cpp @@ -897,7 +897,7 @@ public Q_SLOTS: { typename Map::iterator it; bool insert_ok; - boost::tie(it,insert_ok) = + std::tie(it,insert_ok) = descriptors.insert(std::make_pair(fit->vertex(i),vertex_descriptor())); if (insert_ok){ const EPICK::Point_2& pt=fit->vertex(i)->point(); diff --git a/Lab/demo/Lab/Plugins/PMP/Interpolated_corrected_principal_curvatures_plugin.cpp b/Lab/demo/Lab/Plugins/PMP/Interpolated_corrected_principal_curvatures_plugin.cpp index dbe630ad09f0..85892713defc 100644 --- a/Lab/demo/Lab/Plugins/PMP/Interpolated_corrected_principal_curvatures_plugin.cpp +++ b/Lab/demo/Lab/Plugins/PMP/Interpolated_corrected_principal_curvatures_plugin.cpp @@ -67,7 +67,7 @@ void compute(SMesh* sMesh, bool created = false; SMesh::Property_map> principal_curvatures_and_directions_map; - boost::tie(principal_curvatures_and_directions_map, created) = sMesh->add_property_map> + std::tie(principal_curvatures_and_directions_map, created) = sMesh->add_property_map> ("v:principal_curvatures_and_directions_map", { 0, 0, Vector(0,0,0), Vector(0,0,0) }); diff --git a/Lab/demo/Lab/Plugins/PMP/Mean_curvature_flow_skeleton_plugin.cpp b/Lab/demo/Lab/Plugins/PMP/Mean_curvature_flow_skeleton_plugin.cpp index 7c333459555a..884f0bb04f86 100644 --- a/Lab/demo/Lab/Plugins/PMP/Mean_curvature_flow_skeleton_plugin.cpp +++ b/Lab/demo/Lab/Plugins/PMP/Mean_curvature_flow_skeleton_plugin.cpp @@ -692,7 +692,7 @@ if(!contracted_item) item->mcs->poles(pole_points); vertex_iterator vb, ve; int id = 0; - for (boost::tie(vb, ve) = vertices(*pMesh); vb != ve; ++vb) + for (std::tie(vb, ve) = vertices(*pMesh); vb != ve; ++vb) { std::vector line; line.clear(); diff --git a/Lab/demo/Lab/Plugins/PMP/Orient_soup_plugin.cpp b/Lab/demo/Lab/Plugins/PMP/Orient_soup_plugin.cpp index 12e6a6ead331..cbcd1ab4e501 100644 --- a/Lab/demo/Lab/Plugins/PMP/Orient_soup_plugin.cpp +++ b/Lab/demo/Lab/Plugins/PMP/Orient_soup_plugin.cpp @@ -116,7 +116,7 @@ void set_vcolors(SMesh* smesh, std::vector colors) SMesh::Property_map vcolors = smesh->property_map("v:color").value(); bool created; - boost::tie(vcolors, created) = smesh->add_property_map("v:color",CGAL::IO::Color(0,0,0)); + std::tie(vcolors, created) = smesh->add_property_map("v:color",CGAL::IO::Color(0,0,0)); assert(colors.size()==smesh->number_of_vertices()); int color_id = 0; for(vertex_descriptor vd : vertices(*smesh)) @@ -130,7 +130,7 @@ void set_fcolors(SMesh* smesh, std::vector colors) SMesh::Property_map fcolors = smesh->property_map("f:color").value(); bool created; - boost::tie(fcolors, created) = smesh->add_property_map("f:color",CGAL::IO::Color(0,0,0)); + std::tie(fcolors, created) = smesh->add_property_map("f:color",CGAL::IO::Color(0,0,0)); assert(colors.size()==smesh->number_of_faces()); int color_id = 0; for(face_descriptor fd : faces(*smesh)) diff --git a/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp b/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp index eaf633c7cf56..dc239528d459 100644 --- a/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp +++ b/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp @@ -701,7 +701,7 @@ public Q_SLOTS: begin != selection_item->selected_edges.end(); ++begin) { fg_vertex_descriptor source = target(opposite(halfedge(*begin,*poly),*poly),*poly); - boost::tie(it_find, insert_OK) + std::tie(it_find, insert_OK) = p2vd.insert(std::make_pair(source, Edge_graph::vertex_descriptor())); if (insert_OK) { @@ -711,7 +711,7 @@ public Q_SLOTS: Edge_graph::vertex_descriptor src=it_find->second; fg_vertex_descriptor targ = target(halfedge(*begin,*poly),*poly); - boost::tie(it_find, insert_OK) + std::tie(it_find, insert_OK) = p2vd.insert(std::make_pair(targ, Edge_graph::vertex_descriptor())); if (insert_OK) { diff --git a/Lab/demo/Lab/Plugins/Point_set/Point_set_shape_detection_plugin.cpp b/Lab/demo/Lab/Plugins/Point_set/Point_set_shape_detection_plugin.cpp index 1baaa63af33a..5a0c76720eaa 100644 --- a/Lab/demo/Lab/Plugins/Point_set/Point_set_shape_detection_plugin.cpp +++ b/Lab/demo/Lab/Plugins/Point_set/Point_set_shape_detection_plugin.cpp @@ -277,7 +277,7 @@ class CGAL_Lab_point_set_shape_detection_plugin : Point_set::Property_map shape_id; if (dialog.add_property()) { bool added = false; - boost::tie(shape_id, added) = points->template add_property_map ("shape", -1); + std::tie(shape_id, added) = points->template add_property_map ("shape", -1); if (!added) { for (auto it = points->begin(); it != points->end(); ++ it) shape_id[*it] = -1; @@ -563,7 +563,7 @@ class CGAL_Lab_point_set_shape_detection_plugin : if (dialog.add_property()) { bool added = false; - boost::tie (shape_id, added) = points->template add_property_map ("shape", -1); + std::tie (shape_id, added) = points->template add_property_map ("shape", -1); if (!added) { for (Point_set::iterator it = points->begin(); it != points->end(); ++ it) diff --git a/Lab/demo/Lab/Plugins/Point_set/Point_set_to_mesh_distance_plugin.cpp b/Lab/demo/Lab/Plugins/Point_set/Point_set_to_mesh_distance_plugin.cpp index ea75b2286ca0..95cff942339c 100644 --- a/Lab/demo/Lab/Plugins/Point_set/Point_set_to_mesh_distance_plugin.cpp +++ b/Lab/demo/Lab/Plugins/Point_set/Point_set_to_mesh_distance_plugin.cpp @@ -223,10 +223,10 @@ private Q_SLOTS: bool d, r, g, b; new_item->point_set()->remove_colors(); //bind pmaps - boost::tie(distance_map , d) = new_item->point_set()->add_property_map("distance",0); - boost::tie(fred_map , r) = new_item->point_set()->add_property_map("red",0); - boost::tie(fgreen_map, g) = new_item->point_set()->add_property_map("green",0); - boost::tie(fblue_map , b) = new_item->point_set()->add_property_map("blue",0); + std::tie(distance_map , d) = new_item->point_set()->add_property_map("distance",0); + std::tie(fred_map , r) = new_item->point_set()->add_property_map("red",0); + std::tie(fgreen_map, g) = new_item->point_set()->add_property_map("green",0); + std::tie(fblue_map , b) = new_item->point_set()->add_property_map("blue",0); new_item->point_set()->check_colors(); Point_set* points = new_item->point_set(); diff --git a/Lab/demo/Lab/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp b/Lab/demo/Lab/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp index 90477043da7f..5ed52540c417 100644 --- a/Lab/demo/Lab/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp +++ b/Lab/demo/Lab/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp @@ -562,7 +562,7 @@ bool Scene_polyhedron_shortest_path_item::deferred_load( std::vector listOfFaces; listOfFaces.reserve(CGAL::num_faces(*polyhedron())); face_iterator current, end; - for (boost::tie(current, end) = CGAL::faces(*polyhedron()); current != end; ++current) + for (std::tie(current, end) = CGAL::faces(*polyhedron()); current != end; ++current) { listOfFaces.push_back(*current); } diff --git a/Lab/demo/Lab/Plugins/Surface_mesh_deformation/Scene_edit_polyhedron_item.cpp b/Lab/demo/Lab/Plugins/Surface_mesh_deformation/Scene_edit_polyhedron_item.cpp index 786727bc1450..9be866438e9d 100644 --- a/Lab/demo/Lab/Plugins/Surface_mesh_deformation/Scene_edit_polyhedron_item.cpp +++ b/Lab/demo/Lab/Plugins/Surface_mesh_deformation/Scene_edit_polyhedron_item.cpp @@ -1572,7 +1572,7 @@ void Scene_edit_polyhedron_item_priv::read_roi(const char* file_name, Mesh* mesh std::vector all_vertices; all_vertices.reserve(num_vertices(fs.get_deform_mesh(mesh)->halfedge_graph())); mesh_vi vb, ve; - for(boost::tie(vb, ve) = vertices(fs.get_deform_mesh(mesh)->halfedge_graph()); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(fs.get_deform_mesh(mesh)->halfedge_graph()); vb != ve; ++vb) { all_vertices.push_back(*vb); } // read roi @@ -1731,7 +1731,7 @@ void Scene_edit_polyhedron_item::update_normals() { void Scene_edit_polyhedron_item::set_all_vertices_as_roi() { boost::graph_traits::vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(*surface_mesh()); vb != ve; ++vb) + for(std::tie(vb, ve) = vertices(*surface_mesh()); vb != ve; ++vb) { insert_roi_vertex(*vb, surface_mesh()); } diff --git a/Lab/demo/Lab/Scene_polyhedron_selection_item.h b/Lab/demo/Lab/Scene_polyhedron_selection_item.h index 7a2cc2f16bd4..9467e26b7821 100644 --- a/Lab/demo/Lab/Scene_polyhedron_selection_item.h +++ b/Lab/demo/Lab/Scene_polyhedron_selection_item.h @@ -415,7 +415,7 @@ friend class CGAL_Lab_selection_plugin; fg_vertex_descriptor t = all_vertices[id2]; fg_halfedge_descriptor hd; bool exists; - boost::tie(hd,exists) = halfedge(s,t,*polyhedron()); + std::tie(hd,exists) = halfedge(s,t,*polyhedron()); if(! exists) { return false; } selected_edges.insert(edge(hd,*polyhedron())); } diff --git a/Lab/demo/Lab/include/Point_set_3.h b/Lab/demo/Lab/include/Point_set_3.h index fcfb3805c9e8..a0444c9b7447 100644 --- a/Lab/demo/Lab/include/Point_set_3.h +++ b/Lab/demo/Lab/include/Point_set_3.h @@ -135,7 +135,7 @@ class Point_set_3 : public CGAL::Point_set_3template add_property_map ("radius", 0.); + std::tie (m_radius, out) = this->template add_property_map ("radius", 0.); return out; } double& radius (const Index& index) { return m_radius[index]; } @@ -409,21 +409,15 @@ class Point_set_3 : public CGAL::Point_set_3("red")) { - boost::tie (m_red, boost::tuples::ignore) - = this->template add_property_map("red", 0); - boost::tie (m_green, boost::tuples::ignore) - = this->template add_property_map("green", 0); - boost::tie (m_blue, boost::tuples::ignore) - = this->template add_property_map("blue", 0); + m_red = this->template add_property_map("red", 0).first; + m_green = this->template add_property_map("green", 0).first; + m_blue = this->template add_property_map("blue", 0).first; } else { - boost::tie (m_red, boost::tuples::ignore) - = this->template add_property_map("r", 0); - boost::tie (m_green, boost::tuples::ignore) - = this->template add_property_map("g", 0); - boost::tie (m_blue, boost::tuples::ignore) - = this->template add_property_map("b", 0); + m_red = this->template add_property_map("r", 0).first; + m_green = this->template add_property_map("g", 0).first; + m_blue = this->template add_property_map("b", 0).first; } } diff --git a/Mesh_3/include/CGAL/Mesh_3/internal/Graph_manipulations.h b/Mesh_3/include/CGAL/Mesh_3/internal/Graph_manipulations.h index 31218f7c60d9..db92293abf48 100644 --- a/Mesh_3/include/CGAL/Mesh_3/internal/Graph_manipulations.h +++ b/Mesh_3/include/CGAL/Mesh_3/internal/Graph_manipulations.h @@ -100,7 +100,7 @@ struct Graph_manipulations edge_descriptor edge; bool b; // test if the edge is already here, using add_edge - boost::tie(edge, b) = add_edge(va, vb, g); + std::tie(edge, b) = add_edge(va, vb, g); remove_edge(edge, g); if(!b) { // The edge was already here. @@ -129,7 +129,7 @@ struct Graph_manipulations if(v1 != v2) { edge_descriptor edge; bool b; - boost::tie(edge, b) = add_edge(v1, v2, g); + std::tie(edge, b) = add_edge(v1, v2, g); return b; } else return false; diff --git a/Mesh_3/include/CGAL/Mesh_3/internal/helpers.h b/Mesh_3/include/CGAL/Mesh_3/internal/helpers.h index f51af8cd0b3b..8debd8dfdfc6 100644 --- a/Mesh_3/include/CGAL/Mesh_3/internal/helpers.h +++ b/Mesh_3/include/CGAL/Mesh_3/internal/helpers.h @@ -72,7 +72,7 @@ struct Angle_tester else { out_edge_iterator out_edge_it, out_edges_end; - boost::tie(out_edge_it, out_edges_end) = out_edges(v, g); + std::tie(out_edge_it, out_edges_end) = out_edges(v, g); vertex_descriptor v1 = target(*out_edge_it++, g); vertex_descriptor v2 = target(*out_edge_it++, g); diff --git a/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h b/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h index 7b3dde34edcd..67bcedd1a6b4 100644 --- a/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h +++ b/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h @@ -325,7 +325,7 @@ struct Angle_tester else { out_edge_iterator out_edge_it, out_edges_end; - boost::tie(out_edge_it, out_edges_end) = out_edges(v, g); + std::tie(out_edge_it, out_edges_end) = out_edges(v, g); vertex_descriptor v1 = target(*out_edge_it++, g); vertex_descriptor v2 = target(*out_edge_it++, g); diff --git a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h index 33420371bfc1..fd1e0b9e104c 100644 --- a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h +++ b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/Protect_edges_sizing_field.h @@ -52,8 +52,7 @@ #ifndef CGAL_NO_ASSERTIONS # include // for float_prior #endif -#include -#include + #include #include @@ -62,10 +61,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include @@ -393,7 +394,7 @@ class Protect_edges_sizing_field const Curve_index& curve_index, const CGAL::Orientation orientation) const { Bare_point pa, pb; - boost::tie(pa, pb) = get_positions(va, vb, curve_index, orientation); + std::tie(pa, pb) = get_positions(va, vb, curve_index, orientation); return compute_distance(pa, pb); } @@ -511,11 +512,11 @@ class Protect_edges_sizing_field const Vertex_handle v2, const Curve_index& curve_index) const; - boost::tuple get_positions(const Vertex_handle v1, - const Vertex_handle v2, - const Vertex_handle v3, - const Curve_index& curve_index, - const CGAL::Orientation orientation) const; + std::tuple get_positions(const Vertex_handle v1, + const Vertex_handle v2, + const Vertex_handle v3, + const Curve_index& curve_index, + const CGAL::Orientation orientation) const; private: C3T3& c3t3_; @@ -953,9 +954,9 @@ get_positions_with_unknown_orientation(const Vertex_handle v1, template -boost::tuple::Bare_point, - typename Protect_edges_sizing_field::Bare_point, - typename Protect_edges_sizing_field::Bare_point> +std::tuple::Bare_point, + typename Protect_edges_sizing_field::Bare_point, + typename Protect_edges_sizing_field::Bare_point> Protect_edges_sizing_field:: get_positions(const Vertex_handle v1, const Vertex_handle v2, @@ -965,11 +966,11 @@ get_positions(const Vertex_handle v1, { Bare_point p1, p2_check, p2, p3; - boost::tie(p1, p2) = get_positions(v1, v2, curve_index, orientation); - boost::tie(p2_check, p3) = get_positions(v2, v3, curve_index, orientation); + std::tie(p1, p2) = get_positions(v1, v2, curve_index, orientation); + std::tie(p2_check, p3) = get_positions(v2, v3, curve_index, orientation); CGAL_assertion(p2_check == p2); - return boost::make_tuple(p1, p2, p3); + return std::make_tuple(p1, p2, p3); } @@ -1674,7 +1675,7 @@ smart_insert_point(const Bare_point& p, Weight w, int dim, const Index& index, Vertex_handle nearest_vh; FT sq_d; - boost::tie(nearest_vh, sq_d) = tr.nearest_power_vertex_with_sq_distance(p, ch); + std::tie(nearest_vh, sq_d) = tr.nearest_power_vertex_with_sq_distance(p, ch); CGAL_assertion(nearest_vh != Vertex_handle()); CGAL_assertion(tr.point(nearest_vh) != cwp(tr.canonicalize_point(p))); @@ -1710,7 +1711,7 @@ smart_insert_point(const Bare_point& p, Weight w, int dim, const Index& index, // Iterate ch = tr.locate(wp0, lt, li, lj, nearest_vh); - boost::tie(nearest_vh, sq_d) = tr.nearest_power_vertex_with_sq_distance(p, ch); + std::tie(nearest_vh, sq_d) = tr.nearest_power_vertex_with_sq_distance(p, ch); CGAL_assertion(nearest_vh != Vertex_handle()); } @@ -2000,7 +2001,7 @@ insert_balls(const Vertex_handle& vp, { // Get size of p & q Bare_point vpp, vqp; - boost::tie(vpp, vqp) = get_positions(vp, vq, curve_index, orientation); + std::tie(vpp, vqp) = get_positions(vp, vq, curve_index, orientation); const FT sp = get_radius(vp); const FT sq = get_radius(vq); @@ -2049,7 +2050,7 @@ insert_balls(const Vertex_handle& vp, CGAL_precondition(sp <= sq); Bare_point vpp, vqp; - boost::tie(vpp, vqp) = get_positions(vp, vq, curve_index, d_sign); + std::tie(vpp, vqp) = get_positions(vp, vq, curve_index, d_sign); #if ! defined(CGAL_NO_PRECONDITIONS) if(sp <= 0) @@ -2749,7 +2750,7 @@ is_sampling_dense_enough(const Vertex_handle& v1, const Vertex_handle& v2, curve_index == domain_.curve_index(v2->index())); Bare_point v1p, v2p; - boost::tie(v1p, v2p) = get_positions(v1, v2, curve_index, orientation); + std::tie(v1p, v2p) = get_positions(v1, v2, curve_index, orientation); FT arc_length = domain_.curve_segment_length(v1p, v2p, @@ -2816,7 +2817,7 @@ orientation_of_walk(const Vertex_handle& start, #endif Bare_point start_p, next_p; - boost::tie(start_p, next_p) = get_positions_with_unknown_orientation(start, next, curve_index); + std::tie(start_p, next_p) = get_positions_with_unknown_orientation(start, next, curve_index); #if CGAL_MESH_3_PROTECTION_DEBUG & 4 std::cerr << "positions to determine orientation: " << start_p << " " << next_p << std::endl; #endif @@ -3091,7 +3092,7 @@ is_sizing_field_correct(const Vertex_handle& v1, FT s3 = get_radius(v3); Bare_point p1, p2, p3; - boost::tie(p1, p2, p3) = get_positions(v1, v2, v3, curve_index, orientation); + std::tie(p1, p2, p3) = get_positions(v1, v2, v3, curve_index, orientation); FT D = domain_.curve_segment_length(p1, p3, curve_index, orientation); FT d = domain_.curve_segment_length(p1, p2, curve_index, orientation); diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h index 5848af0a5274..516c3e7434dd 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h @@ -4414,7 +4414,7 @@ test_next(const Periodic_3_triangulation_3& t1, queue.push_back(std::make_pair(c1,c2)); while(! queue.empty()) { - boost::tie(c1,c2) = queue.back(); + std::tie(c1,c2) = queue.back(); queue.pop_back(); // Precondition: c1, c2 have been registered as well as their 4 vertices. diff --git a/Point_set_3/examples/Point_set_3/point_set_property.cpp b/Point_set_3/examples/Point_set_3/point_set_property.cpp index 98a32e10fced..b34f01737d04 100644 --- a/Point_set_3/examples/Point_set_3/point_set_property.cpp +++ b/Point_set_3/examples/Point_set_3/point_set_property.cpp @@ -40,11 +40,11 @@ int main (int, char**) bool success = false; Color_map color; - boost::tie (color, success) = point_set.add_property_map ("color", black); + std::tie (color, success) = point_set.add_property_map ("color", black); assert (success); FT_map intensity; - boost::tie (intensity, success) = point_set.add_property_map ("intensity", 0.); + std::tie (intensity, success) = point_set.add_property_map ("intensity", 0.); assert (success); point_set.reserve (10); // For memory optimization diff --git a/Point_set_3/include/CGAL/Point_set_3/IO/LAS.h b/Point_set_3/include/CGAL/Point_set_3/IO/LAS.h index 6fcffaee3d02..aa2de169bf20 100644 --- a/Point_set_3/include/CGAL/Point_set_3/IO/LAS.h +++ b/Point_set_3/include/CGAL/Point_set_3/IO/LAS.h @@ -219,86 +219,86 @@ bool write_LAS(std::ostream& os, Ushort_map intensity; bool remove_intensity; - boost::tie(intensity, remove_intensity) + std::tie(intensity, remove_intensity) = point_set.template add_property_map("intensity", 0); Uchar_map return_number; bool remove_return_number; - boost::tie(return_number, remove_return_number) + std::tie(return_number, remove_return_number) = point_set.template add_property_map("return_number", 0); Uchar_map number_of_returns; bool remove_number_of_returns; - boost::tie(number_of_returns, remove_number_of_returns) + std::tie(number_of_returns, remove_number_of_returns) = point_set.template add_property_map("number_of_returns", 0); Uchar_map scan_direction_flag; bool remove_scan_direction_flag; - boost::tie(scan_direction_flag, remove_scan_direction_flag) + std::tie(scan_direction_flag, remove_scan_direction_flag) = point_set.template add_property_map("scan_direction_flag", 0); Uchar_map edge_of_flight_line; bool remove_edge_of_flight_line; - boost::tie(edge_of_flight_line, remove_edge_of_flight_line) + std::tie(edge_of_flight_line, remove_edge_of_flight_line) = point_set.template add_property_map("edge_of_flight_line", 0); Uchar_map classification; bool remove_classification; - boost::tie(classification, remove_classification) + std::tie(classification, remove_classification) = point_set.template add_property_map("classification", 0); Uchar_map synthetic_flag; bool remove_synthetic_flag; - boost::tie(synthetic_flag, remove_synthetic_flag) + std::tie(synthetic_flag, remove_synthetic_flag) = point_set.template add_property_map("synthetic_flag", 0); Uchar_map keypoint_flag; bool remove_keypoint_flag; - boost::tie(keypoint_flag, remove_keypoint_flag) + std::tie(keypoint_flag, remove_keypoint_flag) = point_set.template add_property_map("keypoint_flag", 0); Uchar_map withheld_flag; bool remove_withheld_flag; - boost::tie(withheld_flag, remove_withheld_flag) + std::tie(withheld_flag, remove_withheld_flag) = point_set.template add_property_map("withheld_flag", 0); Float_map scan_angle; bool remove_scan_angle; - boost::tie(scan_angle, remove_scan_angle) + std::tie(scan_angle, remove_scan_angle) = point_set.template add_property_map("scan_angle", 0.); Uchar_map user_data; bool remove_user_data; - boost::tie(user_data, remove_user_data) + std::tie(user_data, remove_user_data) = point_set.template add_property_map("user_data", 0); Ushort_map point_source_ID; bool remove_point_source_ID; - boost::tie(point_source_ID, remove_point_source_ID) + std::tie(point_source_ID, remove_point_source_ID) = point_set.template add_property_map("point_source_ID", 0); Uint_map deleted_flag; bool remove_deleted_flag; - boost::tie(deleted_flag, remove_deleted_flag) + std::tie(deleted_flag, remove_deleted_flag) = point_set.template add_property_map("deleted_flag", 0); Double_map gps_time; bool remove_gps_time; - boost::tie(gps_time, remove_gps_time) + std::tie(gps_time, remove_gps_time) = point_set.template add_property_map("gps_time", 0); Ushort_map R; bool remove_R; - boost::tie(R, remove_R) = point_set.template add_property_map("R", 0); + std::tie(R, remove_R) = point_set.template add_property_map("R", 0); Ushort_map G; bool remove_G; - boost::tie(G, remove_G) = point_set.template add_property_map("G", 0); + std::tie(G, remove_G) = point_set.template add_property_map("G", 0); Ushort_map B; bool remove_B; - boost::tie(B, remove_B) = point_set.template add_property_map("B", 0); + std::tie(B, remove_B) = point_set.template add_property_map("B", 0); Ushort_map I; bool remove_I; - boost::tie(I, remove_I) = point_set.template add_property_map("I", 0); + std::tie(I, remove_I) = point_set.template add_property_map("I", 0); if(remove_R) { diff --git a/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h b/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h index f4658b4926b6..5cad538b3ea5 100644 --- a/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h +++ b/Point_set_3/include/CGAL/Point_set_3/IO/PLY.h @@ -57,7 +57,7 @@ class Point_set_3_filler PLY_property_to_point_set_property(Point_set& ps, const std::string& name) : m_name(name) { - boost::tie(m_map, boost::tuples::ignore) = ps.add_property_map(name, Type()); + m_map = ps.add_property_map(name, Type()).first; m_pmap = ps.push_property_map(m_map); } diff --git a/Point_set_3/test/Point_set_3/point_set_test.cpp b/Point_set_3/test/Point_set_3/point_set_test.cpp index 086feabfaceb..72563b63c547 100644 --- a/Point_set_3/test/Point_set_3/point_set_test.cpp +++ b/Point_set_3/test/Point_set_3/point_set_test.cpp @@ -103,7 +103,7 @@ int main (int, char**) test (!(point_set.has_property_map ("color")), "point set shouldn't have colors."); Point_set::Property_map color_prop; bool garbage; - boost::tie (color_prop, garbage) = point_set.add_property_map ("color", Color()); + std::tie (color_prop, garbage) = point_set.add_property_map ("color", Color()); test (point_set.has_property_map ("color"), "point set should have colors."); for (Point_set::iterator it = point_set.begin(); it != point_set.end(); ++ it) diff --git a/Point_set_3/test/Point_set_3/point_set_test_join.cpp b/Point_set_3/test/Point_set_3/point_set_test_join.cpp index 986f1748cf11..bcd39c531bb6 100644 --- a/Point_set_3/test/Point_set_3/point_set_test_join.cpp +++ b/Point_set_3/test/Point_set_3/point_set_test_join.cpp @@ -72,7 +72,7 @@ int main (int, char**) Point_set::Property_map intensity; bool okay; - boost::tie (intensity, okay) = ps3.add_property_map("intensity", 0); + std::tie (intensity, okay) = ps3.add_property_map("intensity", 0); assert (okay); Point_set::iterator it = ps3.insert (Point (double(0), double(1), double(2)), diff --git a/Point_set_processing_3/include/CGAL/mst_orient_normals.h b/Point_set_processing_3/include/CGAL/mst_orient_normals.h index f9ce5352b262..5c5cd75063c5 100644 --- a/Point_set_processing_3/include/CGAL/mst_orient_normals.h +++ b/Point_set_processing_3/include/CGAL/mst_orient_normals.h @@ -388,7 +388,7 @@ create_riemannian_graph( // Add edge typename boost::graph_traits::edge_descriptor e; bool inserted; - boost::tie(e, inserted) = add_edge(vertex(it_index, riemannian_graph), + std::tie(e, inserted) = add_edge(vertex(it_index, riemannian_graph), vertex(neighbor_index, riemannian_graph), riemannian_graph); CGAL_assertion(inserted); @@ -410,7 +410,7 @@ create_riemannian_graph( { typename boost::graph_traits::edge_descriptor e; bool inserted; - boost::tie(e, inserted) = add_edge(vertex(it_index, riemannian_graph), + std::tie(e, inserted) = add_edge(vertex(it_index, riemannian_graph), vertex(source_point_index, riemannian_graph), riemannian_graph); CGAL_assertion(inserted); diff --git a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h index abe83515408f..488e15b0b3a8 100644 --- a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h +++ b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h @@ -598,24 +598,24 @@ class Poisson_reconstruction_function } #endif - boost::tuple special_func(const Point& p) const + std::tuple special_func(const Point& p) const { Cell_handle& hint = get_hint(); hint = m_tr->locate(p, hint); if(m_tr->is_infinite(hint)) { int i = hint->index(m_tr->infinite_vertex()); - return boost::make_tuple(hint->vertex((i+1)&3)->f(), - hint, true); + return std::make_tuple(hint->vertex((i+1)&3)->f(), + hint, true); } FT a,b,c,d; barycentric_coordinates(p,hint,a,b,c,d); - return boost::make_tuple(a * hint->vertex(0)->f() + - b * hint->vertex(1)->f() + - c * hint->vertex(2)->f() + - d * hint->vertex(3)->f(), - hint, false); + return std::make_tuple(a * hint->vertex(0)->f() + + b * hint->vertex(1)->f() + + c * hint->vertex(2)->f() + + d * hint->vertex(3)->f(), + hint, false); } /// \endcond diff --git a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_surface_reconstruction_3/internal/Poisson_sphere_oracle_3.h b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_surface_reconstruction_3/internal/Poisson_sphere_oracle_3.h index fb0655be01ce..36e56fe4d898 100644 --- a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_surface_reconstruction_3/internal/Poisson_sphere_oracle_3.h +++ b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_surface_reconstruction_3/internal/Poisson_sphere_oracle_3.h @@ -24,7 +24,7 @@ #include #include -#include +#include namespace CGAL { @@ -102,7 +102,7 @@ namespace CGAL { { const Self& oracle; - boost::tuple + std::tuple intersection_line_sphere_lambda(const Surface_3& sphere, const Point& a, const Point& b) const @@ -154,18 +154,18 @@ namespace CGAL { switch( CGAL::sign(deltaprime) ) { case ZERO: - return boost::make_tuple(1, ab_ac / ab2, 0); + return std::make_tuple(1, ab_ac / ab2, 0); case POSITIVE: { const FT sqrt_deltaprime = CGAL::sqrt(deltaprime); - return boost::make_tuple(2, - (ab_ac - sqrt_deltaprime) / ab2, - (ab_ac + sqrt_deltaprime) / ab2); + return std::make_tuple(2, + (ab_ac - sqrt_deltaprime) / ab2, + (ab_ac + sqrt_deltaprime) / ab2); } case NEGATIVE: break; } - return boost::make_tuple(0, 0, 0); + return std::make_tuple(0, 0, 0); } //end intersection_line_sphere_lambda template @@ -185,7 +185,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); const Vector ab = vector(a, b); @@ -291,7 +291,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); #ifdef CGAL_SURFACE_MESHER_DEBUG_IMPLICIT_ORACLE @@ -353,7 +353,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); if( number_of_roots == 2 && root_2 > FT(0) ) @@ -392,7 +392,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); if( number_of_roots == 2 ) diff --git a/Poisson_surface_reconstruction_3/include/CGAL/Surface_mesher/Poisson_implicit_surface_oracle_3.h b/Poisson_surface_reconstruction_3/include/CGAL/Surface_mesher/Poisson_implicit_surface_oracle_3.h index 7ebcbbe814ec..0be13053adac 100644 --- a/Poisson_surface_reconstruction_3/include/CGAL/Surface_mesher/Poisson_implicit_surface_oracle_3.h +++ b/Poisson_surface_reconstruction_3/include/CGAL/Surface_mesher/Poisson_implicit_surface_oracle_3.h @@ -286,8 +286,8 @@ namespace CGAL { Cell_handle c1, c2; bool c1_is_inf, c2_is_inf; - boost::tie(value_at_p1, c1, c1_is_inf) = surface.function().special_func(p1); - boost::tie(value_at_p2, c2, c2_is_inf) = surface.function().special_func(p2); + std::tie(value_at_p1, c1, c1_is_inf) = surface.function().special_func(p1); + std::tie(value_at_p2, c2, c2_is_inf) = surface.function().special_func(p2); // If both extremities are in the same volume component, returns // no intersection. @@ -320,7 +320,7 @@ namespace CGAL { Cell_handle c_at_mid; FT value_at_mid; bool c_is_inf; - boost::tie(value_at_mid, c_at_mid, c_is_inf) = surface.function().special_func(mid); + std::tie(value_at_mid, c_at_mid, c_is_inf) = surface.function().special_func(mid); if ( squared_distance(p1, p2) < squared_distance_bound ) // If the two points are close, then we must decide diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures_SM.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures_SM.cpp index ac8378781fe4..e549dad832d5 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures_SM.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures_SM.cpp @@ -32,11 +32,11 @@ int main(int argc, char* argv[]) Mesh::Property_map mean_curvature_map, Gaussian_curvature_map; - boost::tie(mean_curvature_map, created) = + std::tie(mean_curvature_map, created) = smesh.add_property_map("v:mean_curvature_map", 0); assert(created); - boost::tie(Gaussian_curvature_map, created) = + std::tie(Gaussian_curvature_map, created) = smesh.add_property_map("v:Gaussian_curvature_map", 0); assert(created); @@ -44,7 +44,7 @@ int main(int argc, char* argv[]) Mesh::Property_map> principal_curvatures_and_directions_map; - boost::tie(principal_curvatures_and_directions_map, created) = + std::tie(principal_curvatures_and_directions_map, created) = smesh.add_property_map> ("v:principal_curvatures_and_directions_map", { 0, 0, Epic_kernel::Vector_3(0,0,0), diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Face_graph_output_builder.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Face_graph_output_builder.h index 925303c6f32c..60e20772372c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Face_graph_output_builder.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Face_graph_output_builder.h @@ -2515,7 +2515,7 @@ class Face_graph_output_builder typedef std::pair Hedge_pair; std::vector< Hedge_pair> hedges_to_link; typename CGAL::Halfedge_around_target_iterator hit, end; - boost::tie(hit,end) = halfedges_around_target(vd, tm1); + std::tie(hit,end) = halfedges_around_target(vd, tm1); for(; hit!=end; ++hit) { // look for a border halfedge incident to the non-manifold vertex that will not be diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Snapping/helper.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Snapping/helper.h index 20e95e59610d..38053bee8fe9 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Snapping/helper.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Snapping/helper.h @@ -67,7 +67,7 @@ void assign_tolerance_with_local_edge_length_bound(const HalfedgeRange& halfedge { const vertex_descriptor vd = target(hd, mesh); CGAL::Halfedge_around_target_iterator hit, hend; - boost::tie(hit, hend) = CGAL::halfedges_around_target(vd, mesh); + std::tie(hit, hend) = CGAL::halfedges_around_target(vd, mesh); CGAL_assertion(hit != hend); FT sq_length = gt.compute_squared_distance_3_object()(get(vpm, source(*hit, mesh)), diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h index c8653c0196d4..7e804e6d0941 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/locate.h @@ -1450,7 +1450,7 @@ void build_AABB_tree(const TriangleMesh& tm, >::value>* = 0) { typename boost::graph_traits::face_iterator ffirst, fbeyond; - boost::tie(ffirst, fbeyond) = faces(tm); + std::tie(ffirst, fbeyond) = faces(tm); outTree.rebuild(ffirst, fbeyond, tm, wrapped_vpm); outTree.build(); } diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_pmp_locate.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_pmp_locate.cpp index b2250c03641a..e33c34e45cb8 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_pmp_locate.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_pmp_locate.cpp @@ -378,7 +378,7 @@ void test_predicates(const G& g, CGAL::Random& rnd) // --------------------------------------------------------------------------- int max = 1000, counter = 0; typename boost::graph_traits::halfedge_iterator hit, hend; - boost::tie(hit, hend) = halfedges(g); + std::tie(hit, hend) = halfedges(g); for(; hit!=hend; ++hit) { const halfedge_descriptor h = *hit; diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_predicates.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_predicates.cpp index 17228d4603ff..716a5a81654e 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_predicates.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_predicates.cpp @@ -78,7 +78,7 @@ void test_needles_and_caps(const std::string fname) const FT eps = std::numeric_limits::epsilon(); face_iterator fit, fend; - boost::tie(fit, fend) = faces(mesh); + std::tie(fit, fend) = faces(mesh); // (0 0 0) -- (1 0 0) -- (1 1 0) (90° cap angle) face_descriptor f = *fit; diff --git a/Ridges_3/examples/Ridges_3/PolyhedralSurf_rings.h b/Ridges_3/examples/Ridges_3/PolyhedralSurf_rings.h index c3e5aefec98c..72f9add2cb7c 100644 --- a/Ridges_3/examples/Ridges_3/PolyhedralSurf_rings.h +++ b/Ridges_3/examples/Ridges_3/PolyhedralSurf_rings.h @@ -64,7 +64,7 @@ T_PolyhedralSurf_rings(const TPoly& P) { //init the ring_index_map Vertex_const_iterator itb, ite; - boost::tie(itb,ite) = vertices(P); + std::tie(itb,ite) = vertices(P); for(;itb!=ite;itb++) ring_index_map[*itb] = -1; } diff --git a/Ridges_3/include/CGAL/PolyhedralSurf_neighbors.h b/Ridges_3/include/CGAL/PolyhedralSurf_neighbors.h index 775fec7d89d5..5d4c57f7b431 100644 --- a/Ridges_3/include/CGAL/PolyhedralSurf_neighbors.h +++ b/Ridges_3/include/CGAL/PolyhedralSurf_neighbors.h @@ -158,7 +158,7 @@ T_PolyhedralSurf_neighbors(const TriangleMesh& P) { //init the is_visited_map Vertex_const_iterator itb, ite; - boost::tie(itb,ite) = vertices(P); + std::tie(itb,ite) = vertices(P); for(;itb!=ite;itb++) is_visited_map[*itb] = false; } diff --git a/Ridges_3/include/CGAL/Ridges.h b/Ridges_3/include/CGAL/Ridges.h index d4052642864c..c52aef7081bf 100644 --- a/Ridges_3/include/CGAL/Ridges.h +++ b/Ridges_3/include/CGAL/Ridges.h @@ -336,7 +336,7 @@ Ridge_approximation(const TriangleMesh &p, { //init the is_visited_map and check that the mesh is a triangular one. face_iterator itb,ite; - boost::tie(itb,ite) = faces(P); + std::tie(itb,ite) = faces(P); for(;itb!=ite;itb++) { is_visited_map[*itb] = false; } @@ -411,10 +411,10 @@ compute_ridges(Ridge_interrogation_type r_type, OutputIterator ridge_lines_it, R //reinit the is_visited_map face_iterator itb,ite; - boost::tie(itb,ite) = faces(P); + std::tie(itb,ite) = faces(P); for(;itb!=ite;itb++) is_visited_map[*itb] = false; - boost::tie(itb,ite) = faces(P); + std::tie(itb,ite) = faces(P); for(;itb!=ite;itb++) { face_descriptor f = *itb; diff --git a/Ridges_3/include/CGAL/Umbilics.h b/Ridges_3/include/CGAL/Umbilics.h index f815b9c18cac..e56e0f000b8a 100644 --- a/Ridges_3/include/CGAL/Umbilics.h +++ b/Ridges_3/include/CGAL/Umbilics.h @@ -184,7 +184,7 @@ compute(OutputIterator umbilics_it, FT size) //MAIN loop on P vertices Vertex_const_iterator itb, ite; - boost::tie(itb,ite) = vertices(P); + std::tie(itb,ite) = vertices(P); for (;itb != ite; itb++) { vertex_descriptor vh = *itb; umbilicEstimatorVertex = cgal_abs(get(k1,vh)-get(k2,vh)); diff --git a/Ridges_3/test/Ridges_3/PolyhedralSurf_rings.h b/Ridges_3/test/Ridges_3/PolyhedralSurf_rings.h index c3e5aefec98c..72f9add2cb7c 100644 --- a/Ridges_3/test/Ridges_3/PolyhedralSurf_rings.h +++ b/Ridges_3/test/Ridges_3/PolyhedralSurf_rings.h @@ -64,7 +64,7 @@ T_PolyhedralSurf_rings(const TPoly& P) { //init the ring_index_map Vertex_const_iterator itb, ite; - boost::tie(itb,ite) = vertices(P); + std::tie(itb,ite) = vertices(P); for(;itb!=ite;itb++) ring_index_map[*itb] = -1; } diff --git a/STL_Extension/doc/STL_Extension/CGAL/Iterator_range.h b/STL_Extension/doc/STL_Extension/CGAL/Iterator_range.h index 1c28472d34d8..5331aaca8ab5 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Iterator_range.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Iterator_range.h @@ -21,7 +21,7 @@ namespace CGAL { \ingroup PkgSTLExtensionRef `CGAL::Iterator_range` encapsulates two iterators so they fulfill the `ForwardRange` concept. The class is essentially a clone of `boost::iterator_range`, - and it additionally is derived from `std::pair`, so that one can apply `boost::tie`. + and it additionally is derived from `std::pair`, so that one can apply `std::tie`. */ template class Iterator_range diff --git a/Scale_space_reconstruction_3/examples/Scale_space_reconstruction_3/scale_space_sm.cpp b/Scale_space_reconstruction_3/examples/Scale_space_reconstruction_3/scale_space_sm.cpp index a562362bfcf2..398e35353b97 100644 --- a/Scale_space_reconstruction_3/examples/Scale_space_reconstruction_3/scale_space_sm.cpp +++ b/Scale_space_reconstruction_3/examples/Scale_space_reconstruction_3/scale_space_sm.cpp @@ -58,7 +58,7 @@ int main(int argc, char* argv[]) { // Also store the input points as vertex property Surface_mesh::Property_map original; bool created; - boost::tie(original, created) = mesh.add_property_map("v:original"); + std::tie(original, created) = mesh.add_property_map("v:original"); assert(created); int i = 0; diff --git a/Surface_mesh/examples/Surface_mesh/sm_circulators.cpp b/Surface_mesh/examples/Surface_mesh/sm_circulators.cpp index 05a166dc5676..ca8593988b35 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_circulators.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_circulators.cpp @@ -42,7 +42,7 @@ int main() { std::cout << "vertices around face " << f << std::endl; CGAL::Vertex_around_face_iterator vbegin, vend; - for(boost::tie(vbegin, vend) = vertices_around_face(m.halfedge(f), m); + for(std::tie(vbegin, vend) = vertices_around_face(m.halfedge(f), m); vbegin != vend; ++vbegin){ std::cout << *vbegin << std::endl; diff --git a/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp b/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp index 6fe9d48402e8..0e16a7f0b385 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp @@ -44,8 +44,8 @@ int main() vb = std::begin(r); ve = std::end(r); - // or with boost::tie, as the CGAL range derives from std::pair - for(boost::tie(vb, ve) = m.vertices(); vb != ve; ++vb){ + // or with std::tie, as the CGAL range derives from std::pair + for(std::tie(vb, ve) = m.vertices(); vb != ve; ++vb){ // Print vertex index and vertex coordinates std::cout << *vb << " " << m.point(*vb) << std::endl; } diff --git a/Surface_mesh/examples/Surface_mesh/sm_join.cpp b/Surface_mesh/examples/Surface_mesh/sm_join.cpp index df0526992fe9..d692035479aa 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_join.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_join.cpp @@ -25,8 +25,8 @@ int main(int argc, char* argv[]) Mesh::Property_map name1, name2; bool created; sm1.add_property_map("v:weight",7812); - boost::tie(name1, created) = sm1.add_property_map("v:name","hello"); - boost::tie(name2, created) = sm2.add_property_map("v:name","world"); + std::tie(name1, created) = sm1.add_property_map("v:name","hello"); + std::tie(name2, created) = sm2.add_property_map("v:name","world"); sm1 += sm2; diff --git a/Surface_mesh/examples/Surface_mesh/sm_kruskal.cpp b/Surface_mesh/examples/Surface_mesh/sm_kruskal.cpp index 986b9e9d4e3e..61f1f73745f3 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_kruskal.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_kruskal.cpp @@ -34,7 +34,7 @@ void kruskal(const Mesh& sm) " point [ \n"; vertex_iterator vb,ve; - for(boost::tie(vb, ve) = vertices(sm); vb!=ve; ++vb){ + for(std::tie(vb, ve) = vertices(sm); vb!=ve; ++vb){ std::cout << " " << sm.point(*vb) << "\n"; } diff --git a/Surface_mesh/examples/Surface_mesh/sm_properties.cpp b/Surface_mesh/examples/Surface_mesh/sm_properties.cpp index 5fa15d740585..9d591e8019c4 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_properties.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_properties.cpp @@ -26,7 +26,7 @@ int main() // give each vertex a name, the default is empty Mesh::Property_map name; bool created; - boost::tie(name, created) = m.add_property_map("v:name","m1"); + std::tie(name, created) = m.add_property_map("v:name","m1"); assert(created); // add some names to the vertices name[v0] = "hello"; @@ -36,7 +36,7 @@ int main() // You get an existing property, and created will be false Mesh::Property_map name; bool created; - boost::tie(name, created) = m.add_property_map("v:name", ""); + std::tie(name, created) = m.add_property_map("v:name", ""); assert(! created); } diff --git a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h index 83ca6a3b4b7d..86a3b498b6fe 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h @@ -598,7 +598,7 @@ class Surface_mesh /// \name Range Types /// /// Each range `R` in this section has a nested type `R::iterator`, - /// is convertible to `std::pair`, so that one can use `boost::tie()`, + /// is convertible to `std::pair`, so that one can use `std::tie()`, /// and can be used with `BOOST_FOREACH()`, as well as with the C++11 range based for-loop. ///@{ diff --git a/Surface_mesh/test/Surface_mesh/sm_circulator_test.cpp b/Surface_mesh/test/Surface_mesh/sm_circulator_test.cpp index 5e932869a440..999d54de50da 100644 --- a/Surface_mesh/test/Surface_mesh/sm_circulator_test.cpp +++ b/Surface_mesh/test/Surface_mesh/sm_circulator_test.cpp @@ -75,7 +75,7 @@ struct test_emptiness : public Surface_fixture m.remove_vertex(iv); assert(m.is_removed(iv)); Sm::Vertex_iterator vb, ve; - for(boost::tie(vb, ve) = m.vertices(); vb != ve; ++vb) { + for(std::tie(vb, ve) = m.vertices(); vb != ve; ++vb) { Sm::Vertex_around_target_range vr = m.vertices_around_target(m.halfedge(*vb)); assert(!is_empty_range(std::begin(vr), std::end(vr))); } diff --git a/Surface_mesh/test/Surface_mesh/surface_mesh_test.cpp b/Surface_mesh/test/Surface_mesh/surface_mesh_test.cpp index 16fb699982c5..d4e47e53b989 100644 --- a/Surface_mesh/test/Surface_mesh/surface_mesh_test.cpp +++ b/Surface_mesh/test/Surface_mesh/surface_mesh_test.cpp @@ -28,19 +28,19 @@ void standard_iterators() Surface_fixture f; Sm::Vertex_iterator vb, ve; - boost::tie(vb, ve) = f.m.vertices(); + std::tie(vb, ve) = f.m.vertices(); test_iterator(vb, ve, 5); Sm::Halfedge_iterator hb, he; - boost::tie(hb, he) = f.m.halfedges(); + std::tie(hb, he) = f.m.halfedges(); test_iterator(hb, he, 14); Sm::Edge_iterator eb, ee; - boost::tie(eb, ee) = f.m.edges(); + std::tie(eb, ee) = f.m.edges(); test_iterator(eb, ee, 7); Sm::Face_iterator fb, fe; - boost::tie(fb, fe) = f.m.faces(); + std::tie(fb, fe) = f.m.faces(); test_iterator(fb, fe, 3); } @@ -97,7 +97,7 @@ void memory_reuse_test() Faces faces; Sm::Face_iterator fb, fe; - for(boost::tie(fb, fe) = f.m.faces(); fb != fe; ++fb) { + for(std::tie(fb, fe) = f.m.faces(); fb != fe; ++fb) { faces.push_back(VecFace()); Sm::Vertex_around_face_circulator vafb(f.m.halfedge(*fb), f.m), vafe(vafb); if(vafb) @@ -108,7 +108,7 @@ void memory_reuse_test() } Sm::Vertex_iterator vb, ve; - for(boost::tie(vb, ve) = f.m.vertices(); vb != ve; ++vb) { + for(std::tie(vb, ve) = f.m.vertices(); vb != ve; ++vb) { f.m.set_halfedge(*vb, Sm::Halfedge_index()); } @@ -223,10 +223,10 @@ void properties () { Sm::Property_map prop; bool created = false; - boost::tie(prop,created) = f.m.add_property_map("illuminatiproperty", 23); + std::tie(prop,created) = f.m.add_property_map("illuminatiproperty", 23); assert(created == true); - boost::tie(prop, created)= f.m.add_property_map("illuminatiproperty"); + std::tie(prop, created)= f.m.add_property_map("illuminatiproperty"); assert(created == false); } diff --git a/Surface_mesh_deformation/demo/Surface_mesh_deformation/deform_mesh_for_botsch08_format.cpp b/Surface_mesh_deformation/demo/Surface_mesh_deformation/deform_mesh_for_botsch08_format.cpp index 9f5036cc3c07..6b5c101ceb61 100644 --- a/Surface_mesh_deformation/demo/Surface_mesh_deformation/deform_mesh_for_botsch08_format.cpp +++ b/Surface_mesh_deformation/demo/Surface_mesh_deformation/deform_mesh_for_botsch08_format.cpp @@ -41,7 +41,7 @@ int main(int argc,char** argv) // Definition of the region of interest (use the whole mesh) vertex_iterator vb,ve; - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); //the selection is set by a file input.open(argv[2]); diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example.cpp index 5f429231d844..ed83fd3fb136 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example.cpp @@ -33,7 +33,7 @@ int main() // Definition of the region of interest (use the whole mesh) vertex_iterator vb,ve; - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); deform_mesh.insert_roi_vertices(vb, ve); // Select two control vertices ... diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_Surface_mesh.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_Surface_mesh.cpp index fe91ed58baf2..4242008b6534 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_Surface_mesh.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_Surface_mesh.cpp @@ -29,7 +29,7 @@ int main(int argc, char** argv) // Definition of the region of interest (use the whole mesh) vertex_iterator vb,ve; - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); deform_mesh.insert_roi_vertices(vb, ve); // Select two control vertices ... diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_custom_polyhedron.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_custom_polyhedron.cpp index 74590db427bc..d19270885268 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_custom_polyhedron.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_custom_polyhedron.cpp @@ -81,7 +81,7 @@ int main() Vertex_index_map vertex_index_map(internal_vertex_index_map); vertex_iterator vb, ve; std::size_t counter = 0; - for(boost::tie(vb, ve) = vertices(mesh); vb != ve; ++vb, ++counter) { + for(std::tie(vb, ve) = vertices(mesh); vb != ve; ++vb, ++counter) { put(vertex_index_map, *vb, counter); } @@ -89,14 +89,14 @@ int main() Hedge_index_map hedge_index_map(internal_hedge_index_map); counter = 0; halfedge_iterator eb, ee; - for(boost::tie(eb, ee) = halfedges(mesh); eb != ee; ++eb, ++counter) { + for(std::tie(eb, ee) = halfedges(mesh); eb != ee; ++eb, ++counter) { put(hedge_index_map, *eb, counter); } Surface_mesh_deformation deform_mesh(mesh, vertex_index_map, hedge_index_map); // Insert the whole mesh as region of interest - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); deform_mesh.insert_roi_vertices(vb, ve); // Insert two control vertices diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_with_OpenMesh.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_with_OpenMesh.cpp index 88ad5c127dff..f0acef64d8e7 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_with_OpenMesh.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/all_roi_assign_example_with_OpenMesh.cpp @@ -24,7 +24,7 @@ int main() // Definition of the region of interest (use the whole mesh) vertex_iterator vb,ve; - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); deform_mesh.insert_roi_vertices(vb, ve); // Select two control vertices ... diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/deform_mesh_for_botsch08_format_sre_arap.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/deform_mesh_for_botsch08_format_sre_arap.cpp index 112fdfb84673..afccc9903c74 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/deform_mesh_for_botsch08_format_sre_arap.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/deform_mesh_for_botsch08_format_sre_arap.cpp @@ -51,7 +51,7 @@ int main(int argc,char** argv) // Definition of the region of interest (use the whole mesh) vertex_iterator vb,ve; - boost::tie(vb, ve) = vertices(mesh); + std::tie(vb, ve) = vertices(mesh); //the selection is set by a file input.open(sel_name); diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_Surface_mesh.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_Surface_mesh.cpp index 61740ac320fc..2adbedc0235a 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_Surface_mesh.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_Surface_mesh.cpp @@ -60,7 +60,7 @@ int main(int argc, char** argv) // Select and insert the vertices of the region of interest vertex_iterator vb, ve; - boost::tie(vb,ve) = vertices(mesh); + std::tie(vb,ve) = vertices(mesh); std::vector roi = extract_k_ring(mesh, *std::next(vb, 47), 9); deform_mesh.insert_roi_vertices(roi.begin(), roi.end()); diff --git a/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_example.cpp b/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_example.cpp index 79a82bc238b1..08d82307becc 100644 --- a/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_example.cpp +++ b/Surface_mesh_deformation/examples/Surface_mesh_deformation/k_ring_roi_translate_rotate_example.cpp @@ -65,7 +65,7 @@ int main() // Select and insert the vertices of the region of interest vertex_iterator vb, ve; - boost::tie(vb,ve) = vertices(mesh); + std::tie(vb,ve) = vertices(mesh); std::vector roi = extract_k_ring(mesh, *std::next(vb, 47), 9); deform_mesh.insert_roi_vertices(roi.begin(), roi.end()); diff --git a/Surface_mesh_deformation/test/Surface_mesh_deformation/Surface_mesh_deformation_test_commons.h b/Surface_mesh_deformation/test/Surface_mesh_deformation/Surface_mesh_deformation_test_commons.h index bdc14cee74e7..508cd98f3a65 100644 --- a/Surface_mesh_deformation/test/Surface_mesh_deformation/Surface_mesh_deformation_test_commons.h +++ b/Surface_mesh_deformation/test/Surface_mesh_deformation/Surface_mesh_deformation_test_commons.h @@ -27,13 +27,13 @@ void init_indices(Polyhedron& poly) { vertex_iterator vb, ve; std::size_t counter = 0; - for(boost::tie(vb, ve) = vertices(poly); vb != ve; ++vb, ++counter) { + for(std::tie(vb, ve) = vertices(poly); vb != ve; ++vb, ++counter) { (*vb)->id() = counter; } counter = 0; halfedge_iterator heb, hee; - for(boost::tie(heb, hee) = halfedges(poly); heb != hee; ++heb, ++counter) { + for(std::tie(heb, hee) = halfedges(poly); heb != hee; ++heb, ++counter) { (*heb)->id() = counter; } } @@ -59,7 +59,7 @@ read_rois(DeformMesh& deform_mesh, std::vector vvertices; vvertices.reserve(num_vertices(polyhedron)); vertex_iterator vb, ve; - for(boost::tie(vb, ve) = vertices(polyhedron); vb != ve; ++vb) { + for(std::tie(vb, ve) = vertices(polyhedron); vb != ve; ++vb) { vvertices.push_back(*vb); } // load handles and roi from txt diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h index 151165423f94..6ca9c4c8fe33 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h @@ -121,7 +121,7 @@ Error_code read_cones(const TriangleMesh& tm, std::ifstream& in, VertexIndexMap // Since the cones are unique, we only need to loop all the vertices once TM_vertex_iterator vit, end; - boost::tie(vit, end) = vertices(tm); + std::tie(vit, end) = vertices(tm); for(; vit!=end; ++vit) { for(std::size_t i=0; i::max)(); - for(boost::tie(b,e) = halfedges_around_face(bhd, mesh); b!=e; ++b, ++id) { + for(std::tie(b,e) = halfedges_around_face(bhd, mesh); b!=e; ++b, ++id) { double d = CGAL::abs(offset[id] - value); if(d < min) { best = b; @@ -160,7 +160,7 @@ class Square_border_parameterizer_3 double total_len = compute_border_length(mesh, bhd); halfedge_around_face_iterator b, e; - boost::tie(b,e) = halfedges_around_face(bhd, mesh); + std::tie(b,e) = halfedges_around_face(bhd, mesh); for(halfedge_around_face_iterator it = b; it!= e; ++it) { vertex_descriptor vs = source(*it, mesh); vertex_descriptor vt = target(*it, mesh); diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h index d9da27146230..6a8a74a4ebeb 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/internal/Containers_filler.h @@ -86,7 +86,7 @@ struct Index_map_filler { typename Map::iterator it; bool new_element; - boost::tie(it,new_element) = map->insert(std::make_pair(vd,1)); + std::tie(it,new_element) = map->insert(std::make_pair(vd,1)); if(new_element) { it->second = index++; } diff --git a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Filters.h b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Filters.h index 7afb29eecf20..7ad3cec0a83a 100644 --- a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Filters.h +++ b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Filters.h @@ -80,7 +80,7 @@ class Bilateral_filtering smoothed_values.reserve(num_faces(mesh)); face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { std::map neighbors; NeighborSelector()(mesh,*facet_it, window_size, @@ -126,7 +126,7 @@ class Bilateral_filtering } // put smoothed values back again to values pmap. std::vector::iterator smoothed_value_it = smoothed_values.begin(); - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it, ++smoothed_value_it) { put(values, *facet_it, *smoothed_value_it); @@ -162,7 +162,7 @@ class Median_filtering std::vector smoothed_values; smoothed_values.reserve(num_faces(mesh)); face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { std::map neighbors; NeighborSelector()(mesh, *facet_it, window_size, @@ -188,7 +188,7 @@ class Median_filtering } // put smoothed values back again to values pmap. std::vector::iterator smoothed_value_it = smoothed_values.begin(); - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { values[*facet_it] = *smoothed_value_it; } diff --git a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/SDF_calculation.h b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/SDF_calculation.h index 5709694f491f..1baaa2b8c911 100644 --- a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/SDF_calculation.h +++ b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/SDF_calculation.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include #define CGAL_NUMBER_OF_MAD 1.5 @@ -90,11 +90,11 @@ class SDF_calculation typedef typename Tree::Primitive_id Primitive_id; // Sampled points from disk, t1 = coordinate-x, t2 = coordinate-y, t3 = weight. - typedef boost::tuple Disk_sample; + typedef std::tuple Disk_sample; typedef std::vector Disk_samples_list; // DiskSampling class responsible for the sampling points in a disk. It is used for generating rays in the cones. For different example see Disk_samplers.h - typedef Vogel_disk_sampling > + typedef Vogel_disk_sampling > Default_sampler; // member variables @@ -303,8 +303,8 @@ class SDF_calculation Primitive_id closest_id; Vector disk_vector = sum_functor( - scale_functor(v1, FT(disk_multiplier * sample_it->get<0>())), - scale_functor(v2, FT(disk_multiplier * sample_it->get<1>())) ); + scale_functor(v1, FT(disk_multiplier * std::get<0>(*sample_it))), + scale_functor(v2, FT(disk_multiplier * std::get<1>(*sample_it))) ); Vector ray_direction = sum_functor(scaled_normal, disk_vector); if(use_diagonal) { @@ -322,7 +322,7 @@ class SDF_calculation "A degenerate segment is constructed. Most probable reason is using CGAL_PI as cone_angle parameter and also picking center of disk as a sample."); } - boost::tie(is_intersected, intersection_is_acute, min_distance, closest_id) + std::tie(is_intersected, intersection_is_acute, min_distance, closest_id) = cast_and_return_minimum(segment, skip, accept_if_acute); } else { Ray ray(center, ray_direction); @@ -332,7 +332,7 @@ class SDF_calculation "A degenerate ray is constructed. Most probable reason is using CGAL_PI as cone_angle parameter and also picking center of disk as a sample."); } - boost::tie(is_intersected, intersection_is_acute, min_distance, closest_id) + std::tie(is_intersected, intersection_is_acute, min_distance, closest_id) = ray_casting(ray, skip, accept_if_acute); } @@ -342,7 +342,7 @@ class SDF_calculation visitor(closest_id, min_distance); - ray_distances.push_back(std::make_pair(min_distance, sample_it->get<2>())); + ray_distances.push_back(std::make_pair(min_distance, std::get<2>(*sample_it))); } if(ray_distances.empty()) { @@ -407,9 +407,9 @@ class SDF_calculation * - get<3> Primitive_id : closest intersected primitive if get<0> is true, else Primitive_id() */ template - boost::tuple cast_and_return_minimum( + std::tuple cast_and_return_minimum( const Query& query, SkipPrimitiveFunctor skip, bool accept_if_acute) const { - boost::tuple + std::tuple min_distance(false, false, 0.0, Primitive_id()); typedef typename Tree:: template Intersection_and_primitive_id::Type Intersection_and_primitive_id; @@ -440,16 +440,16 @@ class SDF_calculation Vector i_ray(*i_point, query.source()); double new_distance = to_double( i_ray.squared_length() ); - if(!min_distance.template get<0>() - || new_distance < min_distance.template get<2>()) { - min_distance.template get<3>() = id; - min_distance.template get<2>() = new_distance; - min_distance.template get<0>() = true; + if(!std::get<0>(min_distance) + || new_distance < std::get<2>(min_distance)) { + std::get<3>(min_distance) = id; + std::get<2>(min_distance) = new_distance; + std::get<0>(min_distance) = true; min_id = id; min_i_ray = i_ray; } } - if(!min_distance.template get<0>()) { + if(!std::get<0>(min_distance)) { return min_distance; } @@ -467,32 +467,32 @@ class SDF_calculation } } - min_distance.template get<1>() = true; // founded intersection is acceptable. - min_distance.template get<2>() = std::sqrt(min_distance.template get<2>()); + std::get<1>(min_distance) = true; // founded intersection is acceptable. + std::get<2>(min_distance) = std::sqrt(std::get<2>(min_distance)); return min_distance; } // function similar to `cast_and_return_minimum()` but using the function // first_intersection with a Ray to get the closest intersected primitive template - boost::tuple ray_casting( + std::tuple ray_casting( const Ray& query, SkipFunctor s, bool accept_if_acute) const { const std::optional< typename Tree::template Intersection_and_primitive_id::Type > min_intersection = tree.first_intersection(query, s); if(!min_intersection) - return boost::make_tuple(false, false, 0.0, Primitive_id()); + return std::make_tuple(false, false, 0.0, Primitive_id()); const Point* i_point = std::get_if( &min_intersection->first ); if (!i_point) //segment case ignored - return boost::make_tuple(false, false, 0.0, Primitive_id()); + return std::make_tuple(false, false, 0.0, Primitive_id()); Vector min_i_ray(*i_point, query.source()); - boost::tuple + std::tuple min_distance(true, false, to_double(min_i_ray.squared_length()), min_intersection->second); - const Primitive_id& min_id = min_distance.template get<3>(); + const Primitive_id& min_id = std::get<3>(min_distance); if(accept_if_acute) { // check whether the ray makes acute angle with intersected facet @@ -508,8 +508,8 @@ class SDF_calculation } } - min_distance.template get<1>() = true; // founded intersection is acceptable. - min_distance.template get<2>() = std::sqrt(min_distance.template get<2>()); + std::get<1>(min_distance) = true; // founded intersection is acceptable. + std::get<2>(min_distance) = std::sqrt(std::get<2>(min_distance)); return min_distance; } diff --git a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Surface_mesh_segmentation.h b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Surface_mesh_segmentation.h index a2a2228f6f59..eb78e5ed48d0 100644 --- a/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Surface_mesh_segmentation.h +++ b/Surface_mesh_segmentation/include/CGAL/Surface_mesh_segmentation/internal/Surface_mesh_segmentation.h @@ -84,7 +84,7 @@ class Postprocess_sdf_values double min_sdf = (std::numeric_limits::max)(); // If there is any facet which has no sdf value, assign average sdf value of its neighbors face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { double sdf_value = get(sdf_values, *facet_it); CGAL_assertion(sdf_value == -1 || sdf_value >= 0); // validity check @@ -130,7 +130,7 @@ class Postprocess_sdf_values double min_sdf = (std::numeric_limits::max)(); double max_sdf = -min_sdf; face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { double sdf_value = get(sdf_values, *facet_it); max_sdf = (std::max)(sdf_value, max_sdf); @@ -147,7 +147,7 @@ class Postprocess_sdf_values std::pair linear_normalize_sdf_values(const Polyhedron& mesh, SDFPropertyMap sdf_values) { double min_sdf, max_sdf; - boost::tie(min_sdf, max_sdf) = min_max_value(mesh, sdf_values); + std::tie(min_sdf, max_sdf) = min_max_value(mesh, sdf_values); if(min_sdf == max_sdf) { CGAL_warning_msg(min_sdf == max_sdf, "Linear normalization is not applicable!"); @@ -156,7 +156,7 @@ class Postprocess_sdf_values const double max_min_dif = max_sdf - min_sdf; face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { put(sdf_values, *facet_it, (get(sdf_values, *facet_it) - min_sdf) / max_min_dif); } @@ -297,7 +297,7 @@ class Surface_mesh_segmentation AlphaExpansionImplementationTag()); std::vector::iterator label_it = labels.begin(); face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it, ++label_it) { put(segment_pmap, *facet_it, *label_it); // fill with cluster-ids @@ -354,7 +354,7 @@ class Surface_mesh_segmentation std::vector& normalized_sdf_values) { normalized_sdf_values.reserve(num_faces(mesh)); face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { double log_normalized = log(get(sdf_values, *facet_it) * CGAL_NORMALIZATION_ALPHA + 1) / log(CGAL_NORMALIZATION_ALPHA + 1); @@ -398,7 +398,7 @@ class Surface_mesh_segmentation std::map facet_index_map; std::size_t facet_index = 0; face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it, ++facet_index) { facet_index_map[*facet_it] = facet_index; @@ -407,7 +407,7 @@ class Surface_mesh_segmentation const double epsilon = 5e-6; // edges and their weights. pair stores facet-id pairs (see above) (may be using boost::tuple can be more suitable) edge_iterator edge_it, eend; - for(boost::tie(edge_it,eend) = edges(mesh); + for(std::tie(edge_it,eend) = edges(mesh); edge_it != eend; ++edge_it) { halfedge_descriptor hd = halfedge(*edge_it,mesh); halfedge_descriptor ohd = opposite(hd,mesh); @@ -461,7 +461,7 @@ class Surface_mesh_segmentation std::size_t segment_id = number_of_clusters; std::vector > segments_with_average_sdf_values; face_iterator facet_it, fend; - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { if(get(segments, *facet_it) < number_of_clusters) { // not visited by depth_first_traversal @@ -488,7 +488,7 @@ class Surface_mesh_segmentation } // make one-pass on facets. First make segment-id zero based by subtracting number_of_clusters // . Then place its sorted index to pmap - for(boost::tie(facet_it,fend) = faces(mesh); + for(std::tie(facet_it,fend) = faces(mesh); facet_it != fend; ++facet_it) { std::size_t segment_id = get(segments, *facet_it) - number_of_clusters; put(segments, *facet_it, segment_id_to_sorted_id_map[segment_id]); diff --git a/Surface_mesh_shortest_path/benchmark/Surface_mesh_shortest_path/benchmark_shortest_paths.cpp b/Surface_mesh_shortest_path/benchmark/Surface_mesh_shortest_path/benchmark_shortest_paths.cpp index 412d7ed844f7..811ab9345dfc 100644 --- a/Surface_mesh_shortest_path/benchmark/Surface_mesh_shortest_path/benchmark_shortest_paths.cpp +++ b/Surface_mesh_shortest_path/benchmark/Surface_mesh_shortest_path/benchmark_shortest_paths.cpp @@ -192,7 +192,7 @@ void run_benchmarks(CGAL::Random& rand, size_t numTrials, size_t numSources, siz outData.numFaces = num_faces(polyhedron); face_iterator startFace, endFace; - boost::tie(startFace, endFace) = faces(polyhedron); + std::tie(startFace, endFace) = faces(polyhedron); std::vector allFaces; diff --git a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths.cpp b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths.cpp index a3b7268b77db..fdf2afc09696 100644 --- a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths.cpp +++ b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths.cpp @@ -48,7 +48,7 @@ int main(int argc, char** argv) // into a file readable using CGAL Lab std::ofstream output("shortest_paths_with_id.polylines.txt"); vertex_iterator vit, vit_end; - for ( boost::tie(vit, vit_end) = vertices(tmesh); + for ( std::tie(vit, vit_end) = vertices(tmesh); vit != vit_end; ++vit) { std::vector points; diff --git a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_OpenMesh.cpp b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_OpenMesh.cpp index 34b337d95f43..4192f5e70b8f 100644 --- a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_OpenMesh.cpp +++ b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_OpenMesh.cpp @@ -60,7 +60,7 @@ int main(int argc, char** argv) // into a file readable using the CGAL Tmesh demo std::ofstream output("shortest_paths_OpenMesh.polylines.txt"); vertex_iterator vit, vit_end; - for ( boost::tie(vit, vit_end) = vertices(tmesh); + for ( std::tie(vit, vit_end) = vertices(tmesh); vit != vit_end; ++vit) { std::vector points; diff --git a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_multiple_sources.cpp b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_multiple_sources.cpp index a0a05111c91b..eab88444695d 100644 --- a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_multiple_sources.cpp +++ b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_multiple_sources.cpp @@ -39,7 +39,7 @@ int main(int argc, char** argv) // by copying the faces in a vector to get a direct access to faces std::size_t nb_faces=num_faces(tmesh); face_iterator fit, fit_end; - boost::tie(fit, fit_end) = faces(tmesh); + std::tie(fit, fit_end) = faces(tmesh); std::vector face_vector(fit, fit_end); // and creating a vector of Face_location objects const std::size_t nb_source_points = 30; @@ -59,7 +59,7 @@ int main(int argc, char** argv) // into a file readable using the CGAL Tmesh demo std::ofstream output("shortest_paths_multiple_sources.polylines.txt"); vertex_iterator vit, vit_end; - for ( boost::tie(vit, vit_end) = vertices(tmesh); + for ( std::tie(vit, vit_end) = vertices(tmesh); vit != vit_end; ++vit) { std::vector points; diff --git a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_no_id.cpp b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_no_id.cpp index 8b51ee23d2be..678183446cf5 100644 --- a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_no_id.cpp +++ b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_no_id.cpp @@ -60,7 +60,7 @@ int main(int argc, char** argv) // into a file readable using CGAL Lab std::ofstream output("shortest_paths_no_id.polylines.txt"); vertex_iterator vit, vit_end; - for ( boost::tie(vit, vit_end) = vertices(tmesh); + for ( std::tie(vit, vit_end) = vertices(tmesh); vit != vit_end; ++vit) { std::vector points; diff --git a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_with_id.cpp b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_with_id.cpp index 697146cc16b3..ea434a511884 100644 --- a/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_with_id.cpp +++ b/Surface_mesh_shortest_path/examples/Surface_mesh_shortest_path/shortest_paths_with_id.cpp @@ -48,7 +48,7 @@ int main(int argc, char** argv) // into a file readable using CGAL Lab std::ofstream output("shortest_paths_with_id.polylines.txt"); vertex_iterator vit, vit_end; - for ( boost::tie(vit, vit_end) = vertices(tmesh); + for ( std::tie(vit, vit_end) = vertices(tmesh); vit != vit_end; ++vit) { std::vector points; diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_1.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_1.cpp index 22b1869274ad..e39457cf08f1 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_1.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_1.cpp @@ -50,7 +50,7 @@ void shortest_path_regular_tetrahedron() face_iterator startFace; face_iterator endFace; - boost::tie(startFace,endFace) = CGAL::faces(P); + std::tie(startFace,endFace) = CGAL::faces(P); face_descriptor firstFace = *startFace; @@ -66,7 +66,7 @@ void shortest_path_regular_tetrahedron() Kernel::FT halfSideLength = sideLength / Kernel::FT(2.0); Kernel::FT triangleHeight = CGAL::sqrt((sideLength*sideLength) - (halfSideLength*halfSideLength)); - for (boost::tie(currentVertex, endVertex) = CGAL::vertices(P); currentVertex != endVertex; ++currentVertex) + for (std::tie(currentVertex, endVertex) = CGAL::vertices(P); currentVertex != endVertex; ++currentVertex) { if ((*currentVertex)->point().y()==-1) { @@ -118,7 +118,7 @@ void test_simple_saddle_vertex_mesh() vertex_iterator startVertex; vertex_iterator endVertex; - boost::tie(startVertex, endVertex) = CGAL::vertices(P); + std::tie(startVertex, endVertex) = CGAL::vertices(P); vertex_iterator currentVertex = startVertex; @@ -368,7 +368,7 @@ void test_boundary_mesh() face_iterator startFace; face_iterator endFace; - boost::tie(startFace, endFace) = CGAL::faces(P); + std::tie(startFace, endFace) = CGAL::faces(P); vertex_iterator currentVertex; vertex_iterator endVertex; @@ -380,7 +380,7 @@ void test_boundary_mesh() Point_3 vertexLocations[10]; size_t currentVertexIndex = 0; - for (boost::tie(currentVertex, endVertex) = CGAL::vertices(P); currentVertex != endVertex; ++currentVertex) + for (std::tie(currentVertex, endVertex) = CGAL::vertices(P); currentVertex != endVertex; ++currentVertex) { vertexHandles[currentVertexIndex] = *currentVertex; vertexLocations[currentVertexIndex] = vpm[*currentVertex]; diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_2.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_2.cpp index 19bda2367062..ceb07b5e1784 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_2.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_2.cpp @@ -73,7 +73,7 @@ int main(int argc, char* argv[]) std::vector vertices; - boost::tie(verticesStart, verticesEnd) = CGAL::vertices(polyhedron); + std::tie(verticesStart, verticesEnd) = CGAL::vertices(polyhedron); for (vertex_iterator it = verticesStart; it != verticesEnd; ++it) { @@ -85,7 +85,7 @@ int main(int argc, char* argv[]) std::vector faces; - boost::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); + std::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); for (face_iterator it = facesStart; it != facesEnd; ++it) { diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_3.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_3.cpp index 26da5f2d9158..608a79b29c68 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_3.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_3.cpp @@ -70,7 +70,7 @@ int main(int argc, char* argv[]) Surface_mesh_shortest_path shortestPaths(polyhedron, traits); face_iterator facesBegin, facesEnd; - boost::tie(facesBegin, facesEnd) = faces(polyhedron); + std::tie(facesBegin, facesEnd) = faces(polyhedron); std::vector facesList; diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_4.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_4.cpp index 1774d928a24a..b0070bd17d0b 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_4.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_4.cpp @@ -73,7 +73,7 @@ int main(int argc, char* argv[]) Surface_mesh_shortest_path shortestPaths(polyhedron, traits); face_iterator facesBegin, facesEnd; - boost::tie(facesBegin, facesEnd) = faces(polyhedron); + std::tie(facesBegin, facesEnd) = faces(polyhedron); std::vector facesList; @@ -112,7 +112,7 @@ int main(int argc, char* argv[]) } vertex_iterator startVertexIt, endVertexIt; - boost::tie(startVertexIt, endVertexIt) = vertices(polyhedron); + std::tie(startVertexIt, endVertexIt) = vertices(polyhedron); bool first = true; diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_5.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_5.cpp index 54e3c49e4ddd..cc7ed1d29b85 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_5.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_test_5.cpp @@ -72,7 +72,7 @@ int main(int argc, char* argv[]) std::vector faces; - boost::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); + std::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); for (face_iterator it = facesStart; it != facesEnd; ++it) { diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits_test.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits_test.cpp index 784be8d0abd8..e02ac9232373 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits_test.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits_test.cpp @@ -64,7 +64,7 @@ void test_simple_2D_barycentric_coordinatess() size_t outVertex0; CGAL::Surface_mesh_shortest_paths_3::Barycentric_coordinates_type b0Type; - boost::tie(b0Type, outVertex0) = classify_barycentric_coordinates(b0); + std::tie(b0Type, outVertex0) = classify_barycentric_coordinates(b0); CHECK_EQUAL(b0Type, CGAL::Surface_mesh_shortest_paths_3::BARYCENTRIC_COORDINATES_ON_VERTEX); CHECK_EQUAL(outVertex0, 0u); @@ -77,7 +77,7 @@ void test_simple_2D_barycentric_coordinatess() size_t outVertex1; CGAL::Surface_mesh_shortest_paths_3::Barycentric_coordinates_type b1Type; - boost::tie(b1Type, outVertex1) = classify_barycentric_coordinates(b1); + std::tie(b1Type, outVertex1) = classify_barycentric_coordinates(b1); CHECK_EQUAL(b1Type, CGAL::Surface_mesh_shortest_paths_3::BARYCENTRIC_COORDINATES_ON_VERTEX); CHECK_EQUAL(outVertex1, 1u); @@ -90,7 +90,7 @@ void test_simple_2D_barycentric_coordinatess() size_t outVertex2; CGAL::Surface_mesh_shortest_paths_3::Barycentric_coordinates_type b2Type; - boost::tie(b2Type, outVertex2) = classify_barycentric_coordinates(b2); + std::tie(b2Type, outVertex2) = classify_barycentric_coordinates(b2); CHECK_EQUAL(b2Type, CGAL::Surface_mesh_shortest_paths_3::BARYCENTRIC_COORDINATES_ON_VERTEX); CHECK_EQUAL(outVertex2, 2u); @@ -100,7 +100,7 @@ void test_simple_2D_barycentric_coordinatess() size_t dummyOut; CGAL::Surface_mesh_shortest_paths_3::Barycentric_coordinates_type bLocationType; - boost::tie(bLocationType, dummyOut) = classify_barycentric_coordinates(bLocation); + std::tie(bLocationType, dummyOut) = classify_barycentric_coordinates(bLocation); CHECK_EQUAL(bLocationType, CGAL::Surface_mesh_shortest_paths_3::BARYCENTRIC_COORDINATES_ON_BOUNDED_SIDE); @@ -282,7 +282,7 @@ void detect_is_saddle_vertex() vertex_iterator currentVertex; vertex_iterator endVertex; - for (boost::tie(currentVertex, endVertex) = vertices(P); currentVertex != endVertex; ++currentVertex) + for (std::tie(currentVertex, endVertex) = vertices(P); currentVertex != endVertex; ++currentVertex) { if (currentVertexIndex <= 3 || currentVertexIndex == 7) { diff --git a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/TestMesh.cpp b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/TestMesh.cpp index aaf41537b8b6..35d2c0cab860 100644 --- a/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/TestMesh.cpp +++ b/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/TestMesh.cpp @@ -168,7 +168,7 @@ struct TestMeshProgramInstance std::vector vertices; - boost::tie(verticesStart, verticesEnd) = CGAL::vertices(polyhedron); + std::tie(verticesStart, verticesEnd) = CGAL::vertices(polyhedron); for (vertex_iterator it = verticesStart; it != verticesEnd; ++it) { @@ -180,7 +180,7 @@ struct TestMeshProgramInstance std::vector faces; - boost::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); + std::tie(facesStart, facesEnd) = CGAL::faces(polyhedron); for (face_iterator it = facesStart; it != facesEnd; ++it) { diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/internal/Edge_collapse.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/internal/Edge_collapse.h index 5c23e83e94ff..d53b3458d15c 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/internal/Edge_collapse.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/internal/Edge_collapse.h @@ -754,7 +754,7 @@ is_collapse_topologically_valid(const Profile& profile) // The following loop checks the link condition for v0_v1. // Specifically, that for every vertex 'k' adjacent to both 'p and 'q', 'pkq' is a face of the mesh. // - for(boost::tie(eb1,ee1) = halfedges_around_source(profile.v0(), m_tm); res && eb1 != ee1; ++eb1) + for(std::tie(eb1,ee1) = halfedges_around_source(profile.v0(), m_tm); res && eb1 != ee1; ++eb1) { halfedge_descriptor v0_k = *eb1; @@ -762,7 +762,7 @@ is_collapse_topologically_valid(const Profile& profile) { vertex_descriptor k = target(v0_k, m_tm); - for(boost::tie(eb2,ee2) = halfedges_around_source(k, m_tm); res && eb2 != ee2; ++eb2) + for(std::tie(eb2,ee2) = halfedges_around_source(k, m_tm); res && eb2 != ee2; ++eb2) { halfedge_descriptor k_v1 = *eb2; diff --git a/Surface_mesh_simplification/test/Surface_mesh_simplification/test_edge_collapse_Polyhedron_3.cpp b/Surface_mesh_simplification/test/Surface_mesh_simplification/test_edge_collapse_Polyhedron_3.cpp index 00e6cf685019..45eba38aa7a9 100644 --- a/Surface_mesh_simplification/test/Surface_mesh_simplification/test_edge_collapse_Polyhedron_3.cpp +++ b/Surface_mesh_simplification/test/Surface_mesh_simplification/test_edge_collapse_Polyhedron_3.cpp @@ -136,7 +136,7 @@ class Vertex_link_builder : public Link_builder Profile::Triangle_vector triangles; out_edge_iterator eb, ee; - for(boost::tie(eb,ee) = halfedges_around_source(opposite(halfedge(mV,tm()),tm()),tm()); eb != ee; ++ eb) + for(std::tie(eb,ee) = halfedges_around_source(opposite(halfedge(mV,tm()),tm()),tm()); eb != ee; ++ eb) { halfedge_descriptor out_edge1 = *eb; halfedge_descriptor out_edge2 = out_edge1->opposite()->next(); diff --git a/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h b/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h index 39b928852eac..b69e59d8e0c5 100644 --- a/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h +++ b/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h @@ -344,7 +344,7 @@ double diagonal_length(const Bbox_3& bbox) double init_min_edge_length() { vertex_iterator vb, ve; - boost::tie(vb, ve) = vertices(m_tmesh); + std::tie(vb, ve) = vertices(m_tmesh); Vertex_to_point v_to_p(m_tmesh_point_pmap); Bbox_3 bbox = CGAL::bbox_3(boost::make_transform_iterator(vb, v_to_p), boost::make_transform_iterator(ve, v_to_p)); diff --git a/Surface_mesh_skeletonization/include/CGAL/Surface_mesh_skeletonization/internal/Curve_skeleton.h b/Surface_mesh_skeletonization/include/CGAL/Surface_mesh_skeletonization/internal/Curve_skeleton.h index f8a1f3eeb20d..c1905924ba8b 100644 --- a/Surface_mesh_skeletonization/include/CGAL/Surface_mesh_skeletonization/internal/Curve_skeleton.h +++ b/Surface_mesh_skeletonization/include/CGAL/Surface_mesh_skeletonization/internal/Curve_skeleton.h @@ -177,7 +177,7 @@ class Curve_skeleton bool exist; edge_desc edge; - boost::tie(edge, exist) = boost::edge(p1_vd, p2_vd, curve); + std::tie(edge, exist) = boost::edge(p1_vd, p2_vd, curve); if (!exist) { boost::add_edge(p1_vd, p2_vd, curve); @@ -353,7 +353,7 @@ class Curve_skeleton // look for ei from p2's incident edges bool found; int ind; - boost::tie(found, ind) = find_edge(vertex_to_edge[p2], ei); + std::tie(found, ind) = find_edge(vertex_to_edge[p2], ei); if (!found) { continue; diff --git a/Surface_mesher/include/CGAL/Surface_mesher/Sphere_oracle_3.h b/Surface_mesher/include/CGAL/Surface_mesher/Sphere_oracle_3.h index 2e8cf47f695b..92c9b08a56b8 100644 --- a/Surface_mesher/include/CGAL/Surface_mesher/Sphere_oracle_3.h +++ b/Surface_mesher/include/CGAL/Surface_mesher/Sphere_oracle_3.h @@ -27,7 +27,7 @@ #include #include -#include +#include namespace CGAL { @@ -96,7 +96,7 @@ namespace CGAL { { const Self& oracle; - boost::tuple + std::tuple intersection_line_sphere_lambda(const Surface_3& sphere, const Point& a, const Point& b) const @@ -148,18 +148,18 @@ namespace CGAL { switch( CGAL::sign(deltaprime) ) { case ZERO: - return boost::make_tuple(1, ab_ac / ab2, 0); + return std::make_tuple(1, ab_ac / ab2, 0); case POSITIVE: { const FT sqrt_deltaprime = CGAL::sqrt(deltaprime); - return boost::make_tuple(2, - (ab_ac - sqrt_deltaprime) / ab2, - (ab_ac + sqrt_deltaprime) / ab2); + return std::make_tuple(2, + (ab_ac - sqrt_deltaprime) / ab2, + (ab_ac + sqrt_deltaprime) / ab2); } case NEGATIVE: break; } - return boost::make_tuple(0, 0, 0); + return std::make_tuple(0, 0, 0); } //end intersection_line_sphere_lambda template @@ -179,7 +179,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); const Vector ab = vector(a, b); @@ -285,7 +285,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); #ifdef CGAL_SURFACE_MESHER_DEBUG_IMPLICIT_ORACLE @@ -347,7 +347,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); if( number_of_roots == 2 && root_2 > FT(0) ) @@ -386,7 +386,7 @@ namespace CGAL { int number_of_roots; FT root_1, root_2; - boost::tie(number_of_roots, root_1, root_2) = + std::tie(number_of_roots, root_1, root_2) = intersection_line_sphere_lambda(sphere, a, b); if( number_of_roots == 2 ) diff --git a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h index 91d01e3e0422..09571f190f51 100644 --- a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h @@ -738,7 +738,7 @@ insert(const Point& a, Locate_type lt, Face_handle loc, int li) int i; if(this->is_edge(vp.first, vp.second, fh,i)){ fh->set_constraint(i,true); - boost::tie(fh,i) = mirror_edge(Edge(fh,i)); + std::tie(fh,i) = mirror_edge(Edge(fh,i)); fh->set_constraint(i,true); } } @@ -815,7 +815,7 @@ insert_constraint(Vertex_handle vaa, Vertex_handle vbb) internal::Indentation_level::Exit_guard exit_guard = CGAL::internal::cdt_2_indent_level.open_new_scope(); #endif // CGAL_CDT_2_DEBUG_INTERSECTIONS while(! stack.empty()){ - boost::tie(vaa,vbb) = stack.top(); + std::tie(vaa,vbb) = stack.top(); stack.pop(); CGAL_precondition( vaa != vbb); #ifdef CGAL_CDT_2_DEBUG_INTERSECTIONS diff --git a/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h b/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h index 10cdecc984fd..0240f0c81b23 100644 --- a/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h +++ b/Triangulation_2/include/CGAL/Constrained_triangulation_plus_2.h @@ -883,7 +883,7 @@ insert_subconstraint(Vertex_handle vaa, stack.push(std::make_pair(vaa,vbb)); while(! stack.empty()){ - boost::tie(vaa,vbb) = stack.top(); + std::tie(vaa,vbb) = stack.top(); stack.pop(); CGAL_precondition( vaa != vbb); #ifdef CGAL_CDT_2_DEBUG_INTERSECTIONS