4242#include < vector>
4343#include < stack>
4444#include < map>
45+ #include < unordered_set>
4546
4647#include < CGAL/boost/iterator/transform_iterator.hpp>
47- #include < boost/next_prior.hpp>
48- #include < boost/unordered_set.hpp>
49- #include < boost/next_prior.hpp>
5048
5149namespace CGAL {
5250namespace internal {
@@ -651,7 +649,7 @@ struct Edge_graph
651649 }
652650 };
653651
654- typedef boost ::unordered_set<int > Vertex_container;
652+ typedef std ::unordered_set<int > Vertex_container;
655653 // contains edges as key, and each edge contains set of third vertices which denote neighbor facets to that edge
656654 typedef std::map<std::pair<int , int >, Vertex_container, Edge_comp> Graph;
657655
@@ -791,8 +789,8 @@ class Triangulate_hole_polyline_DT
791789 Triangulation tr;
792790 std::vector<bool > edge_exist;
793791 std::pair<int , int > range (0 , n-1 );
794- boost ::tuple<boost::optional<Edge>, bool , bool > res = construct_3D_triangulation (P, range, tr, edge_exist);
795- if (!res. template get <2 >()) {
792+ std ::tuple<boost::optional<Edge>, bool , bool > res = construct_3D_triangulation (P, range, tr, edge_exist);
793+ if (!std:: get<2 >(res )) {
796794#ifdef CGAL_HOLE_FILLING_VERBOSE
797795 #ifndef CGAL_TEST_SUITE
798796 CGAL_warning_msg (false , " Returning no output. Dimension of 3D Triangulation is below 2!" );
@@ -804,12 +802,12 @@ class Triangulate_hole_polyline_DT
804802 }
805803
806804 // all border edges inside 3D Triangulation
807- if (boost ::get<1 >(res)) {
805+ if (std ::get<1 >(res)) {
808806 LookupTable<Weight> W (n, Weight::DEFAULT ()); // do not forget that these default values are not changed for [i, i+1]
809807 LookupTable<int > lambda (n,-1 );
810808
811809 typename Incident_facet_circulator_base<Triangulate_hole_polyline_DT>::Edge_wrapper
812- e_start (*boost ::get<0 >(res));
810+ e_start (*std ::get<0 >(res));
813811 if (tr.dimension () == 3 ) {
814812 triangulate_DT<IFC_3>(P, Q, W, lambda, e_start, tr, WC, false );
815813 }
@@ -839,7 +837,7 @@ class Triangulate_hole_polyline_DT
839837 #else
840838 // This approach produce better patches when used with Weight_incomplete
841839 // (which should be arranged in internal::triangulate_hole_Polyhedron, triangulate_polyline)
842- return fill_by_incomplete_patches(tr, res. get<0>(), edge_exist, P, Q, tracer, WC);
840+ return fill_by_incomplete_patches(tr, std:: get<0>(res ), edge_exist, P, Q, tracer, WC);
843841 #endif
844842 }
845843
@@ -928,7 +926,7 @@ class Triangulate_hole_polyline_DT
928926 }
929927
930928 // returns [h.first-h.second edge, true if all edges inside 3D triangulation, true if tr.dimension() >= 2]
931- boost ::tuple<boost::optional<Edge>, bool , bool >
929+ std ::tuple<boost::optional<Edge>, bool , bool >
932930 construct_3D_triangulation (const Polyline_3& P,
933931 std::pair<int ,int > h,
934932 Triangulation& tr,
@@ -937,11 +935,11 @@ class Triangulate_hole_polyline_DT
937935 // construct 3D tr with P[h.first], P[h.second] also assign ids from h.first to h.second
938936 boost::optional<Edge> e;
939937 int n_border = h.second - h.first + 1 ;
940- tr.insert (boost::make_transform_iterator (boost ::next (P.begin (), h.first ), Auto_count (h.first )),
941- boost::make_transform_iterator (boost ::next (P.begin (), h.second +1 ), Auto_count (h.first )));
938+ tr.insert (boost::make_transform_iterator (std ::next (P.begin (), h.first ), Auto_count (h.first )),
939+ boost::make_transform_iterator (std ::next (P.begin (), h.second +1 ), Auto_count (h.first )));
942940 tr.infinite_vertex ()->info () = -1 ;
943941
944- if (tr.dimension () < 2 ) { return boost ::make_tuple (e, false , false ); }
942+ if (tr.dimension () < 2 ) { return std ::make_tuple (e, false , false ); }
945943
946944 // check whether all edges are included in DT, and get v0-vn-1 edge
947945 edge_exist.assign (n_border, false );
@@ -972,7 +970,7 @@ class Triangulate_hole_polyline_DT
972970
973971 bool is_3D_T_complete = (nb_exists == n_border);
974972 if (edge_exist[n_border-1 ]) { e = *v_first_v_second_edge; }
975- return boost ::make_tuple (e, is_3D_T_complete, true );
973+ return std ::make_tuple (e, is_3D_T_complete, true );
976974 }
977975
978976 /* ***********************************************************************
@@ -992,7 +990,7 @@ class Triangulate_hole_polyline_DT
992990 {
993991 typedef std::pair<int , int > Range;
994992 typedef std::back_insert_iterator<std::vector<Range> > Output_hole_iterator;
995- typedef Tracer_polyline_incomplete<boost ::tuple<int , int , int >, Emptyset_iterator, Output_hole_iterator> Remaining_holes_tracer;
993+ typedef Tracer_polyline_incomplete<std ::tuple<int , int , int >, Emptyset_iterator, Output_hole_iterator> Remaining_holes_tracer;
996994
997995 std::vector<Range> remaining_holes;
998996
@@ -1055,14 +1053,14 @@ class Triangulate_hole_polyline_DT
10551053 // construct tr for next coming hole
10561054 h = remaining_holes.back ();
10571055 tr.clear ();
1058- boost ::tuple<boost::optional<Edge>, bool , bool > res = construct_3D_triangulation (P, h, tr, edge_exist);
1059- if (!boost ::get<0 >(res)) {
1056+ std ::tuple<boost::optional<Edge>, bool , bool > res = construct_3D_triangulation (P, h, tr, edge_exist);
1057+ if (!std ::get<0 >(res)) {
10601058#ifdef CGAL_HOLE_FILLING_VERBOSE
10611059 CGAL_warning_msg (false , " Returning no output. Filling hole with incomplete patches is not successful!" );
10621060#endif
10631061 return Weight::NOT_VALID ();
10641062 }
1065- start_edge = *boost ::get<0 >(res);
1063+ start_edge = *std ::get<0 >(res);
10661064 // clear related regions in W, lambda for next coming hole
10671065 W.set_range_to_default (h.first , h.second );
10681066 lambda.set_range_to_default (h.first , h.second );
0 commit comments