Revert "Add some descriptor validity preconditions to BGL iterators"

This reverts commit e67b73e849.

Some code such as copy_face_graph() uses iterators while building graphs
This commit is contained in:
Mael Rouxel-Labbé 2022-10-07 09:19:47 +02:00
parent a7f2aeb75c
commit bcf2f60be2
1 changed files with 12 additions and 14 deletions

View File

@ -815,7 +815,6 @@ Iterator_range<Halfedge_around_source_iterator<Graph> >
halfedges_around_source(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Halfedge_around_source_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -827,7 +826,6 @@ template<typename Graph>
Iterator_range<Halfedge_around_source_iterator<Graph> >
halfedges_around_source(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
{
CGAL_precondition(is_valid_vertex_descriptor(v, g));
return halfedges_around_source(opposite(halfedge(v,g),g),g);
}
@ -840,7 +838,6 @@ Iterator_range<Halfedge_around_target_iterator<Graph> >
halfedges_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Halfedge_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -852,7 +849,6 @@ template<typename Graph>
Iterator_range<Halfedge_around_target_iterator<Graph> >
halfedges_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
{
CGAL_precondition(is_valid_vertex_descriptor(v, g));
return halfedges_around_target(halfedge(v,g),g);
}
@ -865,7 +861,6 @@ Iterator_range<Halfedge_around_face_iterator<Graph> >
halfedges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Halfedge_around_face_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -970,7 +965,6 @@ Iterator_range<Face_around_target_iterator<Graph> >
faces_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Face_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -983,7 +977,6 @@ Iterator_range<Face_around_face_iterator<Graph> >
faces_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Face_around_face_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -1124,7 +1117,6 @@ Iterator_range<Opposite_edge_around_face_iterator<Graph> >
opposite_edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Opposite_edge_around_face_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -1160,10 +1152,11 @@ Iterator_range<Edge_around_face_iterator<Graph> >
edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Edge_around_face_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
/**
* \ingroup PkgBGLIterators
* A bidirectional circulator with value type `boost::graph_traits<Graph>::%vertex_descriptor` over all vertices adjacent to the same vertex.
@ -1280,16 +1273,15 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
adjacent_vertices(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Vertex_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
template <typename Graph>
Iterator_range<Vertex_around_target_iterator<Graph> >
adjacent_vertices(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
{
typedef Vertex_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_vertex_descriptor(v, g));
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
}
@ -1302,7 +1294,6 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
vertices_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Vertex_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -1311,7 +1302,6 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
vertices_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
{
typedef Vertex_around_target_iterator<Graph> I;
CGAL_precondition(is_valid_vertex_descriptor(v, g));
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
}
/**
@ -1323,7 +1313,6 @@ Iterator_range<Vertex_around_face_iterator<Graph> >
vertices_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
{
typedef Vertex_around_face_iterator<Graph> I;
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
return make_range(I(h,g), I(h,g,1));
}
@ -1366,6 +1355,9 @@ private:
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return opp(*this->base_reference()); }
};
template <class Graph>
class In_edge_iterator
: public boost::iterator_adaptor<
@ -1404,6 +1396,12 @@ public:
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return fct(*this->base_reference()); }
};
} // CGAL
#endif /* CGAL_BGL_ITERATORS_H */