diff --git a/TDS_3/include/CGAL/Triangulation_data_structure_3.h b/TDS_3/include/CGAL/Triangulation_data_structure_3.h index db844641a9a..f2c87176315 100644 --- a/TDS_3/include/CGAL/Triangulation_data_structure_3.h +++ b/TDS_3/include/CGAL/Triangulation_data_structure_3.h @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -830,13 +831,16 @@ private: return it; } - template + template void incident_cells_3_threadsafe(Vertex_handle v, Cell_handle d, - std::vector &cells, + CellsContainers &cells, IncidentFacetIterator facet_it) const { - boost::unordered_set found_cells; + boost::container::flat_set, + boost::container::small_vector> found_cells; + // boost::unordered_set found_cells; cells.push_back(d); found_cells.insert(d); @@ -1411,20 +1415,16 @@ public: Visitor visit(v, output, this, f); - std::vector tmp_cells; - tmp_cells.reserve(64); + boost::container::small_vector tmp_cells; if ( dimension() == 3 ) incident_cells_3_threadsafe( v, v->cell(), tmp_cells, visit.facet_it()); else incident_cells_2(v, v->cell(), std::back_inserter(tmp_cells)); - typename std::vector::iterator cit; - for(cit = tmp_cells.begin(); - cit != tmp_cells.end(); - ++cit) + for(auto c : tmp_cells) { - visit(*cit); + visit(c); } return visit.result();