diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h
index 6c8bbdf153f..117c62aaf9c 100644
--- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h
+++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h
@@ -18,7 +18,7 @@ public:
/*! accepts two mergeable \f$x\f$-monotone curves `xc1` and `xc2`
* and assigns `xc` with the merged curve.
*
- * \pre `are_mergeable_2`(`xc1`, `xc2`) is true.
+ * \pre \link AosTraits::AreMergeable_2 `are_mergeable_2`\endlink(`xc1`, `xc2`) is true.
*/
void merge(AosTraits::X_monotone_curve_2 xc1,
AosTraits::X_monotone_curve_2 xc2,
diff --git a/BGL/include/CGAL/boost/graph/Euler_operations.h b/BGL/include/CGAL/boost/graph/Euler_operations.h
index ece862d5dc7..e7089b7b66f 100644
--- a/BGL/include/CGAL/boost/graph/Euler_operations.h
+++ b/BGL/include/CGAL/boost/graph/Euler_operations.h
@@ -1552,7 +1552,7 @@ does_satisfy_link_condition(typename boost::graph_traits::edge_descriptor
*
* \returns vertex `v1`.
* \pre g must be a triangulated graph
- * \pre `does_satisfy_link_condition(e,g) == true`.
+ * \pre \link CGAL::Euler::does_satisfy_link_condition `does_satisfy_link_condition`\endlink(e,g) == `true`.
*/
template
typename boost::graph_traits::vertex_descriptor
diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h
index bc681d3bf38..5dd40f19b0b 100644
--- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h
+++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h
@@ -64,7 +64,7 @@ namespace Barycentric_coordinates {
\return an output iterator to the element in the destination range,
one past the last coordinate stored
- \pre area_2(p0, p1, p2) != 0
+ \pre \link BarycentricTraits_2::Compute_area_2 `area_2`\endlink(p0, p1, p2) != 0
*/
template<
typename OutIterator,
@@ -133,7 +133,7 @@ namespace Barycentric_coordinates {
\return a tuple `std::tuple`
with the computed coordinates
- \pre area_2(p0, p1, p2) != 0
+ \pre \link BarycentricTraits_2::Compute_area_2 `area_2`\endlink(p0, p1, p2) != 0
*/
template
std::tuple<
diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h
index fa931a25d70..02e88928569 100644
--- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h
+++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h
@@ -27,7 +27,7 @@ the source and target points of `xc`, respectively. If the target
point of `xc2` and the source point of `xc1` coincide; then
the source point of `xc2` and the target point of `xc1` become
the source and target points of `xc`, respectively.
-\pre `are_mergeable_2`(`xc1`, `xc2`) is true.
+\pre \link ArrDirectionalTraits::AreMergeable_2 `are_mergeable_2`\endlink(`xc1`, `xc2`) is `true`.
*/
void operator()(ArrDirectionalTraits::X_monotone_curve_2 xc1,
ArrDirectionalTraits::X_monotone_curve_2 xc2,
diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h
index 251d424bc02..efe5fefc244 100644
--- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h
+++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h
@@ -149,7 +149,7 @@ template bool is_sewable(Dart_const_descriptor d1, Dart_const_d
Links by \f$ \beta_i \f$ two by two all the darts of the orbit D1=\f$ \langle{}\f$\f$ \beta_1\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(`d1`) and D2=\f$ \langle{}\f$\f$ \beta_0\f$,\f$ \beta_2\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(`d2`) such that d2=f(d1), where f is the bijection between D1 and D2 satisfying: f(d1)=d2, and for all e \f$ \in \f$ D1, for all j \f$ \in \f$ {1,\f$ \ldots\f$,i-2,i+2,\f$ \ldots\f$,d}, f(\f$ \beta_j\f$(e))=\f$ \beta_j^{-1}\f$(f(e)).
If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, when necessary, non void attributes are updated to ensure the validity of the generic map: for each j-cells c1 and c2 which are merged into one j-cell during the sew, the two associated attributes attr1 and attr2 are considered. If one attribute is `null_descriptor` and the other not, the non `null_descriptor` attribute is associated to all the darts of the resulting cell. When the two attributes are non `null_descriptor`, functor \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink is called on the two attributes attr1 and attr2. If set, the dynamic onmerge function of i-attributes is also called on attr1 and attr2. Then, the attribute attr1 is associated to all darts of the resulting j-cell. Finally, attribute attr2 is removed from the generic map.
-\pre \link CombinatorialMap::is_sewable `is_sewable(d1,d2)`\endlink.
+\pre \link CombinatorialMap::is_sewable `is_sewable`\endlink(`d1`,`d2`).
\cgalAdvancedBegin
If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==false`, non void attributes are not updated; thus the generic map can be no more valid after this operation.
diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h
index b7f985acac0..4c9a672d69b 100644
--- a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h
+++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h
@@ -467,14 +467,14 @@ const typename Attribute_type::type::Info & info(Dart_const_descriptor adart)
/*!
A shortcut for \link GenericMap::dart_of_attribute `dart_of_attribute`\endlink`(`\link GenericMap::attribute `attribute`\endlink`(adart))`.
-\pre `attribute(adart)!=nullptr`.
+\pre \link GenericMap::attribute `attribute`\endlink`(adart)!=nullptr`.
*/
template
Dart_descriptor & dart(Dart_descriptor adart);
/*!
A shortcut for \link GenericMap::dart_of_attribute(typename Attribute_const_descriptor::type)const `dart_of_attribute`\endlink`(`\link GenericMap::attribute(Dart_const_descriptor)const `attribute`\endlink`(adart))` for const descriptor.
-\pre `attribute(adart)!=nullptr`.
+\pre \link GenericMap::attribute(Dart_const_descriptor)const `attribute`\endlink`(adart)!=nullptr`.
*/
template
Dart_const_descriptor dart(Dart_const_descriptor adart) const;
@@ -771,13 +771,13 @@ bool is_marked(Dart_const_descriptor d, size_type m) const;
/*!
Marks dart `d` for `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink and `d`\f$ \in \f$ `darts()`.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`) and `d`\f$ \in \f$ `darts()`.
*/
void mark(Dart_const_descriptor d, size_type m) const;
/*!
Unmarks dart `d` for the mark `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink and `d`\f$ \in \f$ `darts()`.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`) and `d`\f$ \in \f$ `darts()`.
*/
void unmark(Dart_const_descriptor d, size_type m) const;
@@ -785,31 +785,31 @@ void unmark(Dart_const_descriptor d, size_type m) const;
Inverse the mark `m` for all the darts of the generic map.
All the marked darts become unmarked and all the unmarked darts
become marked.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`).
*/
void negate_mark(size_type m) const;
/*!
Unmarks all the darts of the generic map for `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`).
*/
void unmark_all(size_type m) const;
/*!
Returns the number of marked darts for `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`).
*/
size_type number_of_marked_darts(size_type m) const;
/*!
Return the number of unmarked darts for `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`).
*/
size_type number_of_unmarked_darts(size_type m) const;
/*!
Frees mark `m`.
-\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink.
+\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`).
*/
void free_mark(size_type m) const;
@@ -820,7 +820,7 @@ void free_mark(size_type m) const;
/*!
Creates a combinatorial hexahedron (six combinatorial quadrangles 2-sewn together), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial hexahedron.
-\pre `dimension` \f$\geq\f$ 2.
+\pre \link GenericMap::dimension `dimension`\endlink \f$\geq\f$ 2.
\sa `make_edge()`
\sa `make_combinatorial_polygon()`
@@ -831,7 +831,7 @@ Dart_descriptor make_combinatorial_hexahedron();
/*!
Creates a combinatorial polygon of length `lg` (a cycle of `lg` edges), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial polygon.
-\pre `dimension`\f$ \geq\f$ 1 and `lg`\f$ >\f$ 0.
+\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 1 and `lg`\f$ >\f$ 0.
\sa `make_edge()`
\sa `make_combinatorial_tetrahedron()`
@@ -841,7 +841,7 @@ Dart_descriptor make_combinatorial_polygon(unsigned int lg);
/*!
Creates a combinatorial tetrahedron (four combinatorial triangles 2-sewn together), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial tetrahedron.
-\pre `dimension`\f$ \geq\f$ 2.
+\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 2.
\sa `make_edge()`
\sa `make_combinatorial_polygon()`
@@ -851,7 +851,7 @@ Dart_descriptor make_combinatorial_tetrahedron();
/*!
Creates an isolated edge (two darts sewn to represent one edge and two vertices) and adds it in the generic map. Returns a descriptor on one dart of this edge.
-\pre `dimension`\f$ \geq\f$ 2.
+\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 2.
\sa `make_combinatorial_polygon()`
\sa `make_combinatorial_tetrahedron()`
@@ -908,7 +908,7 @@ Dart_descriptor insert_cell_0_in_cell_2(Dart_descriptor d);
/*!
Inserts a 1-cell in the 2-cell containing `d1` and `d2`. Returns `previous(d1)`, a descriptor on one dart belonging to the new 1-cell.
-\pre `is_insertable_cell_1_in_cell_2(d1,d2)`.
+\pre \link GenericMap::is_insertable_cell_1_in_cell_2 `is_insertable_cell_1_in_cell_2`\endlink(`d1`,`d2`).
See examples for combinatorial map in \cgalFigureRef{fig_cmap_insert_edge} and for generalized map in \cgalFigureRef{fig_gmap_insert_edge}.
@@ -930,7 +930,7 @@ Dart_descriptor insert_cell_1_in_cell_2(Dart_descriptor d1, Dart_descriptor d2);
/*!
Inserts a 1-cell between the 2-cell containing `d1` and the one containing `d2`. Returns `previous(d1)`, a descriptor on one dart belonging to the new 1-cell.
-\pre `is_insertable_cell_1_between_two_cells_2(d1,d2)`.
+\pre \link GenericMap::is_insertable_cell_1_between_two_cells_2 `is_insertable_cell_1_between_two_cells_2`\endlink(`d1`,`d2`).
If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, call \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink(a,a') is called for all enabled i-attributes, for i>=2, with a the original 2-attribute associated with `d1` and a' the original 2-attribute associated with `d2`. If set, the dynamic on-merge function of i-attributes is also called on a and a'.
@@ -957,7 +957,7 @@ Dart_descriptor insert_cell_1(Dart_descriptor d1, Dart_descriptor d2);
/*!
Inserts a 2-cell along the path of 1-cells containing darts given by the range `[afirst,alast)`. Returns `opposite<2>(*afirst)`, a descriptor on one dart belonging to the new 2-cell.
-\pre `is_insertable_cell_2_in_cell_3(afirst,alast)`.
+\pre \link GenericMap::is_insertable_cell_2_in_cell_3 `is_insertable_cell_2_in_cell_3`\endlink(`afirst`,`alast`).
See examples for combinatorial map in \cgalFigureRef{fig_cmap_insert_facet} and for generalized map in \cgalFigureRef{fig_gmap_insert_facet}.
@@ -1045,7 +1045,7 @@ bool is_removable(Dart_const_descriptor d);
/*!
Removes the i-cell containing `d`. Returns the number of darts removed from the generic map.
-\pre `is_removable(d)`.
+\pre \link GenericMap::is_removable `is_removable`\endlink(`d`).
See examples in \cgalFigureRef{fig_cmap_insert_vertex}, \cgalFigureRef{fig_cmap_insert_edge} and \cgalFigureRef{fig_cmap_insert_facet}.
diff --git a/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h b/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h
index 60029fab9ce..f77131b22cf 100644
--- a/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h
+++ b/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h
@@ -924,7 +924,7 @@ public:
/*!
* @brief same as `face_constraint_index(f)` with `f` being `Triangulation::Facet(ch, index)`.
- * @pre `is_facet_constrained(f)`
+ * @pre \link Conforming_constrained_Delaunay_triangulation_3::is_facet_constrained `is_facet_constrained`\endlink(`f`)
*/
CDT_3_signed_index face_constraint_index(typename Triangulation::Cell_handle ch, int i) const
{
@@ -934,7 +934,7 @@ public:
/*!
* @brief returns the index of the constraint that constrains the
* facet \p f
- * @pre `is_facet_constrained(f)`
+ * @pre \link Conforming_constrained_Delaunay_triangulation_3::is_facet_constrained `is_facet_constrained`\endlink(`f`)
*/
CDT_3_signed_index face_constraint_index(const typename Triangulation::Facet& f) const
{
diff --git a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h
index 16fa1e40eab..893231d371e 100644
--- a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h
+++ b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h
@@ -113,7 +113,7 @@ template bool is_sewable(Dart_const_descriptor d1, Dart_const_d
Links by \f$ \alpha_i\f$ two by two all the darts of the orbit D1=\f$ \langle{}\f$\f$ \alpha_0\f$,\f$ \ldots\f$,\f$ \alpha_{i-2}\f$,\f$ \alpha_{i+2}\f$,\f$ \ldots\f$,\f$ \alpha_d\f$\f$ \rangle{}\f$(`d1`) and D2=\f$ \langle{}\f$\f$ \alpha_0\f$,\f$ \alpha_2\f$,\f$ \ldots\f$,\f$ \alpha_{i-2}\f$,\f$ \alpha_{i+2}\f$,\f$ \ldots\f$,\f$ \alpha_d\f$\f$ \rangle{}\f$(`d2`) such that d2=f(d1), where f is the bijection between D1 and D2 satisfying: f(d1)=d2, and for all e\f$ \in\f$ D1, for all j\f$ \in\f$ {1,\f$ \ldots\f$,i-2,i+2,\f$ \ldots\f$,d}, f(\f$ \alpha_j\f$(e))=\f$ \alpha_j\f$(f(e)).
If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, when necessary, non void attributes are updated to ensure the validity of the generic map: for each j-cells c1 and c2 which are merged into one j-cell during the sew, the two associated attributes attr1 and attr2 are considered. If one attribute is `null_descriptor` and the other not, the non `null_descriptor` attribute is associated to all the darts of the resulting cell. When the two attributes are non `null_descriptor`, functor \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink is called on the two attributes attr1 and attr2. If set, the dynamic onmerge function of i-attributes is also called on attr1 and attr2. Then, the attribute attr1 is associated to all darts of the resulting j-cell. Finally, attribute attr2 is removed from the generic map.
-\pre \link GeneralizedMap::is_sewable `is_sewable(d1,d2)`\endlink.
+\pre \link GeneralizedMap::is_sewable `is_sewable`\endlink(`d1`,`d2`).
\cgalAdvancedBegin
If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==false`, non void attributes are not updated; thus the generic map can be no more valid after this operation.
diff --git a/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h b/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h
index 5eaddde1125..d0642c2017b 100644
--- a/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h
+++ b/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h
@@ -164,7 +164,7 @@ returns the relative position of point
`p` to the sphere defined by `A = tuple [first,last)`. The
order of the points of \f$ A\f$ does not matter.
-\pre `orientation(first,last)` is not `ZERO`.
+\pre \ref CGAL::orientation(ForwardIterator, ForwardIterator) "orientation(first,last)" is not `ZERO`.
\tparam ForwardIterator has `Point_d` as value type.
*/
template Bounded_side
diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h
index ecc427a12b7..05aeb6a194d 100644
--- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h
+++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h
@@ -21,7 +21,7 @@ int dimension(const Kernel_d::Point_d& p);
/*!
returns the ith homogeneous coordinate of \f$ p\f$.
-\pre `0 <= i <= dimension(p)`.
+\pre `0 <= i <=` \link Kernel_d::Component_accessor_d::dimension `dimension`\endlink(`p`).
*/
Kernel_d::RT homogeneous(const Kernel_d::Point_d& p,
int i);
@@ -29,7 +29,7 @@ int i);
/*!
returns the ith %Cartesian coordinate of \f$ p\f$.
-\pre `0 <= i < dimension(p)`.
+\pre `0 <= i <` \link Kernel_d::Component_accessor_d::dimension `dimension`\endlink(`p`).
*/
Kernel_d::FT cartesian(const Kernel_d::Point_d& p, int
i);
diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h
index b436ee1561a..32cfc217fb1 100644
--- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h
+++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h
@@ -17,7 +17,7 @@ returns the relative position of point
`p` to the sphere defined by `A = tuple [first,last)`. The
order of the points of \f$ A\f$ does not matter.
-\pre `orientation(first,last)` is not `ZERO`.
+\pre \ref CGAL::orientation(ForwardIterator, ForwardIterator) "orientation(first,last)" is not `ZERO`.
\tparam ForwardIterator has `Kernel_d::Point_d` as value type.
*/
template Bounded_side
diff --git a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h
index e0e523e5363..6b55ad30d40 100644
--- a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h
+++ b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h
@@ -66,7 +66,7 @@ Vector& c);
returns the
inverse matrix of `M`. More precisely, \f$ 1/D\f$ times the matrix
returned is the inverse of `M`.
-\pre `determinant(M) != 0`.
+\pre \ref determinant(const Matrix&) "determinant(M)"` != 0`.
\pre \f$ M\f$ is square.
*/
diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h
index b4ecaab30d8..12fdea95f9b 100644
--- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h
+++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h
@@ -172,7 +172,8 @@ intersection between an object of type `Segment_3`, `Ray_3` or
`Intersection operator()(Ray_3 r)`
`Intersection operator()(Line_3 l)`
-\pre do_intersect_surface(s/r/l) == true
+
+\pre `do_intersect_surface_object(s/r/l)` == `true`
*/
typedef unspecified_type Construct_intersection;
diff --git a/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h b/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h
index 25df26141eb..858e6df5ba7 100644
--- a/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h
+++ b/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h
@@ -432,16 +432,15 @@ bool is_isolated(Vertex_const_handle v) ;
returns one halfedge with source `v`. It's the starting point for
the circular iteration over the halfedges with source `v`.
-\pre `!is_isolated(v)`.
-
+\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`.
*/
Halfedge_const_handle first_out_edge(Vertex_const_handle v) ;
/*!
returns the halfedge with source `v` that is the last
-in the circular iteration before encountering `first_out_edge(v)`
-again. \pre `!is_isolated(v)`.
+in the circular iteration before encountering `first_out_edge(v)` again.
+\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`.
*/
Halfedge_const_handle last_out_edge(Vertex_const_handle v) ;
@@ -482,7 +481,8 @@ Face_const_handle face(Halfedge_const_handle e) ;
/*!
-returns the face incident to `v`. \pre `is_isolated(v)`.
+returns the face incident to `v`.
+\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`.
*/
Face_const_handle face(Vertex_const_handle v) ;
@@ -733,13 +733,15 @@ bool is_standard(Vertex_const_handle v) ;
/*!
returns the standard
-point that is the embedding of `v`. \pre `E.is_standard(v)`.
+point that is the embedding of `v`.
+\pre \ref is_standard(Vertex_const_handle v) "is_standard"(`v`).
*/
Point point(Vertex_const_handle v) ;
/*!
returns the ray defining
-the non-standard point on the frame. \pre `!E.is_standard(v)`.
+the non-standard point on the frame.
+\pre !\ref is_standard(Vertex_const_handle v) "is_standard"(`v`).
*/
Ray ray(Vertex_const_handle v) ;
diff --git a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h
index 1311b83a7d5..69914efc037 100644
--- a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h
+++ b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h
@@ -191,21 +191,20 @@ returns `true` iff
bool is_standard(const Point_2& p) ;
/*!
-returns
-the standard point represented by `p`. \pre `K.is_standard(p)`.
+returns the standard point represented by `p`.
+\pre \ref is_standard(const Point_2& p) "is_standard"(`p`).
*/
Standard_point_2 standard_point(const Point_2& p) ;
/*!
-returns
-the oriented line representing the bundle of rays defining `p`.
-\pre `!K.is_standard(p)`.
+returns the oriented line representing the bundle of rays defining `p`.
+\pre ! \ref is_standard(const Point_2& p) "is_standard"(`p`).
*/
Standard_line_2 standard_line(const Point_2& p) ;
/*!
-a ray
-defining `p`. \pre `!K.is_standard(p)`.
+a ray defining `p`.
+\pre ! \ref is_standard(const Point_2& p) "is_standard"(`p`).
*/
Standard_ray_2 standard_ray(const Point_2& p) ;
diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h
index daec23b7c5d..3bda0596ca6 100644
--- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h
+++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h
@@ -1276,7 +1276,7 @@ Cell_handle start, int f) const;
/*!
Copies the `Cell_handle`s of all cells incident to `v` to the output
iterator `cells`. Returns the resulting output iterator.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`)
*/
template
OutputIterator
@@ -1286,7 +1286,7 @@ incident_cells(Vertex_handle v, OutputIterator cells) const;
Copies the `Facet`s incident to `v` to the output iterator
`facets`.
Returns the resulting output iterator.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`)
*/
template
OutputIterator
@@ -1296,7 +1296,7 @@ incident_facets(Vertex_handle v, OutputIterator facets) const;
Copies the `Edge`s incident to `v` to the output iterator
`edges`.
Returns the resulting output iterator.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`)
*/
template
OutputIterator
@@ -1305,7 +1305,7 @@ incident_edges(Vertex_handle v, OutputIterator edges) const;
/*!
Copies the `Vertex_handle`s of all vertices adjacent to `v` to the
output iterator `vertices`. Returns the resulting output iterator.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`)
*/
template
OutputIterator
@@ -1313,7 +1313,7 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const;
/*!
Returns the degree of `v`, that is, the number of adjacent vertices.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`)
*/
size_type degree(Vertex_handle v) const;
diff --git a/Polygon/include/CGAL/Polygon_2_algorithms.h b/Polygon/include/CGAL/Polygon_2_algorithms.h
index 2a5997f821d..4bd6f9bdbdd 100644
--- a/Polygon/include/CGAL/Polygon_2_algorithms.h
+++ b/Polygon/include/CGAL/Polygon_2_algorithms.h
@@ -314,7 +314,7 @@ Bounded_side bounded_side_2(ForwardIterator first,
const PolygonTraits& traits);
/// Computes if a polygon is clockwise or counterclockwise oriented.
-/// \pre `is_simple_2(first, last, traits);`
+/// \pre \link CGAL::is_simple_2 `is_simple_2`\endlink(`first`, `last`, `traits`)
///
/// \tparam Traits is a model of the concept
/// `PolygonTraits_2`.
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h
index 60829f72623..1cd739fed52 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h
@@ -118,7 +118,7 @@ bool fair(TriangleMesh& tmesh,
@return `true` if fairing is successful, otherwise no vertices are relocated.
- @pre `is_triangle_mesh(tmesh)`
+ @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
@warning This function involves linear algebra, that is computed using non-exact, floating-point arithmetic.
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h
index e0ab99d02bb..717411b9c2d 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h
@@ -337,8 +337,8 @@ struct Throw_at_first_output {
* reports all the pairs of faces intersecting between two triangulated surface meshes.
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * \pre `CGAL::is_triangle_mesh(tm1)`
- * \pre `CGAL::is_triangle_mesh(tm2)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam FaceRange range of `boost::graph_traits::%face_descriptor`,
@@ -475,7 +475,7 @@ compute_face_face_intersection(const FaceRange& face_range1,
* \attention If a polyline vertex intersects a face, the intersection will
* be reported twice (or more if it is on a vertex, edge, or point).
*
- * \pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam FaceRange range of `boost::graph_traits::%face_descriptor`,
@@ -607,7 +607,7 @@ compute_face_polyline_intersection(const FaceRange& face_range,
* \attention If a polyline vertex intersects a face, the intersection will
* be reported twice (even more if it is on a vertex, edge, or point).
*
- * \pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam FaceRange range of `boost::graph_traits::%face_descriptor`,
@@ -939,8 +939,8 @@ compute_polylines_polylines_intersection(const PolylineRange& polylines1,
* reports all the pairs of faces intersecting between two triangulated surface meshes.
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tm1)`
- * @pre `CGAL::is_triangle_mesh(tm2)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam OutputIterator a model of `OutputIterator` holding objects of type
@@ -998,7 +998,7 @@ compute_face_face_intersection(const TriangleMesh& tm1,
* \attention If a polyline vertex intersects a face or another polyline, the intersection will
* be reported twice (even more if it is on a vertex, edge, or point).
*
- * \pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam Polyline a `RandomAccessRange` of points. The point type of the range must be the
@@ -1223,10 +1223,10 @@ bool do_intersect(const Polyline& polyline1,
* In that case, the meshes must be closed.
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tm1)`
- * @pre `CGAL::is_triangle_mesh(tm2)`
- * @pre `!do_overlap_test_of_bounded_sides || CGAL::is_closed(tm1)`
- * @pre `!do_overlap_test_of_bounded_sides || CGAL::is_closed(tm2)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink
+ * @pre `!do_overlap_test_of_bounded_sides` || \link CGAL::is_closed `CGAL::is_closed(tm1)` \endlink
+ * @pre `!do_overlap_test_of_bounded_sides` || \link CGAL::is_closed `CGAL::is_closed(tm2)` \endlink
*
* @tparam TriangleMesh a model of `FaceListGraph`
* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" for `tm1`
@@ -1323,7 +1323,7 @@ bool do_intersect(const TriangleMesh& tm1,
* and `false` otherwise.
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam PolylineRange a `RandomAccessRange` of `RandomAccessRange` of points. The point type of the range must be the
@@ -1390,7 +1390,7 @@ bool do_intersect(const TriangleMesh& tm,
* returns `true` if there exists a face of `tm` and a segment of `polyline` which intersect, and `false` otherwise.
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* \tparam TriangleMesh a model of `FaceListGraph`
* \tparam Polyline a `RandomAccessRange` of points. The point type of the range must be the
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h
index 0ee5e95fc40..67450783a00 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h
@@ -149,8 +149,8 @@ namespace internal{
* The normal vector to each face is chosen pointing on the side of the face
* where its sequence of vertices is seen counterclockwise.
*
- * @pre `CGAL::is_closed(tm)`
- * @pre `CGAL::is_triangle_mesh(tm)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
* @pre If `tm` contains several connected components, they are oriented consistently.
* In other words, the answer to this predicate would be the same for each
* isolated connected component.
@@ -374,7 +374,7 @@ void reverse_face_orientations(const FaceRange& face_range, PolygonMesh& pmesh)
* @param tm a closed triangulated surface mesh
* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
*
-* \pre `CGAL::is_closed(tm)`
+* @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink
*
* \cgalNamedParamsBegin
* \cgalParamNBegin{vertex_point_map}
@@ -700,7 +700,7 @@ void set_cc_intersecting_pairs(
* @param volume_id_map the property map filled by this function with indices of volume components associated to the faces of `tm`
* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
*
- * @pre `CGAL::is_closed(tm)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink
*
* \cgalNamedParamsBegin
* \cgalParamNBegin{vertex_point_map}
@@ -1244,7 +1244,7 @@ volume_connected_components(const TriangleMesh& tm,
* @param tm a closed triangulated surface mesh
* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
*
- * @pre `CGAL::is_closed(tm)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink
*
* @attention if `tm` is self-intersecting the behavior of this function is undefined.
*
@@ -1307,7 +1307,7 @@ bool does_bound_a_volume(const TriangleMesh& tm, const NamedParameters& np = par
* @param tm a closed triangulated surface mesh
* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below
*
- * @pre `CGAL::is_closed(tm)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink
*
* \cgalNamedParamsBegin
* \cgalParamNBegin{outward_orientation}
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h
index 38fe4ff0608..0a29099ffc7 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h
@@ -65,7 +65,7 @@ namespace Polygon_mesh_processing {
@return pair of `faces_out` and `vertices_out`
- \pre `is_triangle_mesh(tmesh)`
+ @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
@todo current algorithm iterates 10 times at most, since (I guess) there is no termination proof.
*/
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h
index 35c3104dd7e..1f31a9eea89 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h
@@ -562,7 +562,7 @@ struct Filter_wrapper_for_cap_needle_removal::%face_descriptor` as value type
@@ -1371,7 +1371,7 @@ remove_a_border_edge(typename boost::graph_traits::edge_descriptor
// removes the degenerate edges from a triangulated surface mesh.
// An edge is considered degenerate if its two extremities share the same location.
//
-// @pre `CGAL::is_triangle_mesh(tmesh)`
+// @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
//
// @tparam TriangleMesh a model of `FaceListGraph` and `MutableFaceGraph`
// @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
@@ -1926,7 +1926,7 @@ bool remove_degenerate_edges(TriangleMesh& tmesh,
// A face is considered degenerate if two of its vertices share the same location,
// or more generally if all its vertices are collinear.
//
-// @pre `CGAL::is_triangle_mesh(tmesh)`
+// @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
//
// @tparam TriangleMesh a model of `FaceListGraph` and `MutableFaceGraph`
// @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters"
diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h
index 183fc299f70..9b7c12e70f5 100644
--- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h
+++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h
@@ -523,7 +523,7 @@ self_intersections_impl(const FaceRange& face_range,
*
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*
* @tparam ConcurrencyTag enables sequential versus parallel algorithm.
* Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.
@@ -591,7 +591,7 @@ self_intersections(const FaceRange& face_range,
*
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*
* @tparam ConcurrencyTag enables sequential versus parallel algorithm.
* Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.
@@ -656,7 +656,7 @@ self_intersections(const TriangleMesh& tmesh,
*
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink
*
* @tparam ConcurrencyTag enables sequential versus parallel algorithm.
* Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.
@@ -727,7 +727,7 @@ bool does_self_intersect(const FaceRange& face_range,
*
* This function depends on the package \ref PkgBoxIntersectionD.
*
- * @pre `CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*
* @tparam ConcurrencyTag enables sequential versus parallel algorithm.
* Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.
diff --git a/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h b/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h
index 7514f945bae..2963b6b995e 100644
--- a/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h
+++ b/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h
@@ -124,7 +124,8 @@ public:
* @param vpmap the property map with the points associated to the vertices of `tmesh`
* @param gt an instance of the geometric traits class
*
- * @pre `CGAL::is_closed(tmesh) && CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tmesh)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*/
Side_of_triangle_mesh(const TriangleMesh& tmesh,
VertexPointMap vpmap,
@@ -150,7 +151,8 @@ public:
* @param tmesh the triangulated surface mesh bounding the domain to be tested
* @param gt an instance of the geometric traits class
*
- * @pre `CGAL::is_closed(tmesh) && CGAL::is_triangle_mesh(tmesh)`
+ * @pre \link CGAL::is_closed `CGAL::is_closed(tmesh)` \endlink
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*/
Side_of_triangle_mesh(const TriangleMesh& tmesh,
const GeomTraits& gt=GeomTraits())
diff --git a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h
index 0015f923df9..9f3e223bb4d 100644
--- a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h
+++ b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h
@@ -532,7 +532,7 @@ bool is_used(size_type i) const;
/*!
returns the element at pos `i` in the container.
-\pre `is_used(i) == true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()`
+\pre \link is_used(size_type)const `is_used(i)`\endlink`== true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()`
*/
const T& operator[] (size_type i) const;
@@ -545,7 +545,7 @@ const T& operator[] (size_type i) const;
/*!
returns the element at pos `i` in the container.
-\pre `is_used(i) == true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()`
+\pre `\link is_used(size_type)const `is_used(i)`\endlink`== true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()`
*/
T& operator[] (size_type i);
diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h
index 879c81bdcc0..e5d5f1fd47a 100644
--- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h
+++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h
@@ -239,14 +239,14 @@ Point_2 target_of_supporting_site(unsigned int i);
/*!
Returns the source point of the `i`-th crossing site of the
this site.
-\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.
+\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`.
*/
Point_2 source_of_crossing_site(unsigned int i);
/*!
Returns the target point of the `i`-th supporting site of the
this site.
-\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.
+\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`.
*/
Point_2 target_of_crossing_site(unsigned int i);
diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h
index e6605fbcdac..19db7d0c6da 100644
--- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h
+++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h
@@ -234,14 +234,14 @@ Point_handle target_of_supporting_site(unsigned int i);
/*!
Returns a handle to the source point of the `i`-th crossing site
of the this site.
-\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.
+\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`.
*/
Point_handle source_of_crossing_site(unsigned int i);
/*!
Returns a handle to the target point of the `i`-th supporting
site of the this site.
-\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.
+\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`.
*/
Point_handle target_of_crossing_site(unsigned int i);
diff --git a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h
index 0cdfedfcb1c..8f716bb6f0e 100644
--- a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h
+++ b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h
@@ -64,7 +64,7 @@ Geom_traits::Iso_rectangle_2 bbox();
/*!
returns the vector field value and the local density.
-\pre `is_in_domain(p)` must be `true`.
+\pre \link is_in_domain `is_in_domain(p)`\endlink must be `true`.
*/
std::pair get_field(Point_2 p);
@@ -76,7 +76,7 @@ bool is_in_domain(Point_2 p);
/*!
returns the integration step at the point `p`, i.e., the distance between `p` and the next point in the polyline.
-\pre `is_in_domain(p)` must be `true`.
+\pre \link is_in_domain `is_in_domain(p)`\endlink must be `true`.
*/
FT get_integration_step(Point_2 p);
diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h
index 7b36a1ce486..e3682606748 100644
--- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h
+++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h
@@ -617,7 +617,7 @@ public:
*
* @param vd a control vertex
* @param t translation vector
- * \pre `is_control_vertex(vd)`
+ * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink
*/
template
void translate(vertex_descriptor vd, const Vect& t)
@@ -662,7 +662,7 @@ public:
* @param vd a control vertex
* @param to_rotation_center the vector to translate the origin to the center of the rotation
* @param quat quaternion of the rotation
- * \pre `is_control_vertex(vd)`
+ * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink
* \pre `quad` represents a rotation
*/
template
@@ -709,7 +709,7 @@ public:
/**
* Returns the target position of a control vertex.
* \param vd a control vertex
- * \pre `is_control_vertex(vd)`
+ * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink
*/
const Point& target_position(vertex_descriptor vd)
{
diff --git a/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h b/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h
index 98af65ee5b2..f056eb09250 100644
--- a/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h
+++ b/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h
@@ -66,7 +66,7 @@ sdf_values( const TriangleMesh& triangle_mesh,
* It is possible to compute raw SDF values (without postprocessing). In such a case,
* -1 is used to indicate when no SDF value could be computed for a facet.
*
- * @pre `is_triangle_mesh(triangle_mesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
*
* @tparam TriangleMesh a model of `FaceListGraph`
* @tparam SDFPropertyMap a `ReadWritePropertyMap` with `boost::graph_traits::%face_descriptor` as key and `double` as value type
@@ -119,7 +119,7 @@ sdf_values( const TriangleMesh& triangle_mesh,
*
* See the section \ref Surface_mesh_segmentationPostprocessing for more details.
*
- * @pre `is_triangle_mesh(triangle_mesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
* @pre Raw values should be greater or equal to 0. -1 indicates when no value could be computed
*
* @tparam TriangleMesh a model of `FaceListGraph`
@@ -157,7 +157,7 @@ sdf_values_postprocessing(const TriangleMesh& triangle_mesh,
* \note There is no direct relation between the parameter `number_of_clusters`
* and the final number of segments after segmentation. However, setting a large number of clusters will result in a detailed segmentation of the mesh with a large number of segments.
*
- * @pre `is_triangle_mesh(triangle_mesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
* @pre `number_of_clusters > 0`
*
* @tparam TriangleMesh a model of `FaceListGraph`
@@ -253,7 +253,7 @@ segmentation_via_sdf_values(const TriangleMesh& triangle_mesh,
* it is more efficient to first compute the SDF values using `CGAL::sdf_values()` and use them in different calls to
* `CGAL::segmentation_from_sdf_values()`.
*
- * @pre `is_triangle_mesh(triangle_mesh)`
+ * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink
* @pre `number_of_clusters > 0`
*
* @tparam TriangleMesh a model of `FaceListGraph`
diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h
index bd7ead4deda..c49cb979888 100644
--- a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h
+++ b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h
@@ -43,7 +43,7 @@ namespace Surface_mesh_topology {
bool can_be_pushed(halfedge_descriptor hd, bool flip=false) const;
/// adds `hd` at the end of this path. If `flip` is true, the opposite of `hd` is considered.
- /// @pre `can_be_pushed(hd)`
+ /// @pre \link can_be_pushed `can_be_pushed(hd)`\endlink
void push_back(halfedge_descriptor hd, bool flip=false);
/// returns `true` iff the dart/halfedge with index `i` can be added at the end of this path.
@@ -52,7 +52,7 @@ namespace Surface_mesh_topology {
/// adds the dart/halfedge with index `i` at the end of this path.
/// If Mesh is a `Polyhedron_3`, takes time proportional to the number of halfedges.
- /// @pre `can_be_pushed_by_index(i)`
+ /// @pre \link can_be_pushed_by_index `can_be_pushed_by_index(i)`\endlink
void push_back_by_index(std::size_t i);
/// adds successively all dart/halfedges in `l` (a sequence of indices), at the end of the path.
diff --git a/Surface_mesh_topology/include/CGAL/Path_on_surface.h b/Surface_mesh_topology/include/CGAL/Path_on_surface.h
index a02e19063d8..66d9186c990 100644
--- a/Surface_mesh_topology/include/CGAL/Path_on_surface.h
+++ b/Surface_mesh_topology/include/CGAL/Path_on_surface.h
@@ -292,7 +292,7 @@ public:
}
/// Add the given dart at the end of this path.
- /// @pre can_be_pushed(dh)
+ /// @pre \link can_be_pushed `can_be_pushed(dh)`\endlink
void push_back(Dart_const_descriptor dh, bool flip=false,
bool update_isclosed=true)
{
diff --git a/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h b/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h
index f56db8e5cb9..4405c055908 100644
--- a/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h
+++ b/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h
@@ -447,7 +447,7 @@ public:
}
/// Add the given dart at the end of this path.
- /// @pre can_be_pushed(dh)
+ /// @pre \link can_be_pushed `can_be_pushed(dh)`\endlink
void push_back(Dart_const_descriptor dh, bool update_isclosed=true)
{
CGAL_assertion(dh!=Map::null_descriptor);
diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h
index eb277fce941..e7b1b9d0322 100644
--- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h
+++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h
@@ -234,7 +234,7 @@ Finite_facets_iterator finite_facets_end() const;
Copies the `Cell_handle`s of all cells incident to `v` to the output
iterator `cells`. If `t.dimension() < 3`, then do nothing.
Returns the resulting output iterator.
-\pre `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `v != Vertex_handle()` and \link is_vertex `is_vertex(v->point())`\endlink.
*/
template
OutputIterator
diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
index 752093512af..ae4e294c525 100644
--- a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
+++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
@@ -528,7 +528,7 @@ void flip_flippable(Cell_handle c, int i);
Creates a new vertex, inserts it in cell `c` and returns its handle.
The cell `c` is split into four new cells, each of these cells being
formed by the new vertex and a facet of `c`.
-\pre `tds`.`dimension()` \f$ = 3\f$ and `c` is a cell of `tds`.
+\pre `dimension()` \f$ = 3\f$ and \link is_cell `is_cell(c)`\endlink.
*/
Vertex_handle insert_in_cell(Cell_handle c);
@@ -536,14 +536,14 @@ Vertex_handle insert_in_cell(Cell_handle c);
Creates a new vertex, inserts it in facet `f` and returns its handle.
In dimension 3, the two incident cells are split into 3 new cells;
in dimension 2, the facet is split into 3 facets.
-\pre `tds`.`dimension()` \f$ \geq2\f$ and `f` is a facet of `tds`.
+\pre `dimension()` \f$ \geq2\f$ and \link is_facet(Cell_handle, int)const `is_facet(f.first, f.second)`\endlink.
*/
Vertex_handle insert_in_facet(const Facet & f);
/*!
Creates a new vertex, inserts it in facet `i` of `c` and returns its
handle.
-\pre `tds`.`dimension()` \f$ \geq2\f$, \f$ i \in\{0,1,2,3\}\f$ in dimension 3, \f$ i=3\f$ in dimension 2 and `(c,i)` is a facet of `tds`.
+\pre `dimension()` \f$ \geq2\f$, \f$ i \in\{0,1,2,3\}\f$ in dimension 3, \f$ i=3\f$ in dimension 2 and \link is_facet(Cell_handle, int)const `is_facet(c, i)`\endlink.
*/
Vertex_handle insert_in_facet(Cell_handle c, int i);
@@ -553,14 +553,14 @@ In dimension 3, all the
incident cells are split into 2 new cells; in dimension 2, the 2
incident facets are split into 2 new facets; in dimension 1, the edge is
split into 2 new edges.
-\pre `tds`.`dimension()` \f$ \geq1\f$ and `e` is an edge of `tds`.
+\pre `dimension()` \f$ \geq1\f$ and \link is_edge(Cell_handle, int,int)const `is_edge(e.first, e.second, e.third)`\endlink.
*/
Vertex_handle insert_in_edge(Edge e);
/*!
Creates a new vertex, inserts it in edge \f$ (i,j)\f$ of `c` and returns its
handle.
-\pre `tds`.`dimension()` \f$ \geq1\f$. \f$ i\neq j\f$, \f$ i,j \in\{0,1,2,3\}\f$ in dimension 3, \f$ i,j \in\{0,1,2\}\f$ in dimension 2, \f$ i,j \in\{0,1\}\f$ in dimension 1 and `(c,i,j)` is an edge of `tds`.
+\pre `dimension()` \f$ \geq1\f$. \f$ i\neq j\f$, \f$ i,j \in\{0,1,2,3\}\f$ in dimension 3, \f$ i,j \in\{0,1,2\}\f$ in dimension 2, \f$ i,j \in\{0,1\}\f$ in dimension 1 and \link is_edge(Cell_handle, int,int)const `is_edge(c,i,j)`\endlink.
*/
Vertex_handle insert_in_edge(Cell_handle c, int i, int j);
@@ -582,8 +582,7 @@ This method can be used to insert the first two vertices in an empty
triangulation.
A handle to `v` is returned.
-\pre `tds`.`dimension()` \f$ = d < 3\f$. When `tds`.`number_of_vertices()` \f$ >0\f$, \f$ star \neq\f$ `Vertex_handle()` and `star` is a vertex of `tds`.
-
+\pre `dimension()` \f$ = d < 3\f$. When `number_of_vertices()` \f$ >0\f$, \f$ star \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(star)`\endlink.
\anchor TDS3figtopoinsert_outside_affine_hull
\image html topo-insert_outside_affine_hull.png "insert_increase_dimension (1-dimensional case)."
@@ -627,7 +626,8 @@ This operation is the reciprocal of `insert_increase_dimension()`.
It transforms a triangulation of the sphere \f$ S^d\f$ of \f$ \mathbb{R}^{d+1}\f$ into the
triangulation of the sphere \f$ S^{d-1}\f$ of \f$ \mathbb{R}^{d}\f$ by removing the vertex
`v`. Delete the cells incident to `w`, keep the others.
-\pre `tds`.`dimension()` \f$ = d \geq-1\f$. `tds`.`degree(v)` \f$ =\f$ `degree(w)` \f$ =\f$ `tds`.`number_of_vertices()` \f$ -1\f$.
+\pre `dimension()` \f$ = d \geq-1\f$.
+\pre \link degree `degree(v)`\endlink \f$ =\f$ \link degree `degree(w)`\endlink \f$ =\f$ `number_of_vertices()` \f$ -1\f$.
*/
void remove_decrease_dimension(Vertex_handle v, Vertex_handle w = v);
@@ -635,10 +635,10 @@ void remove_decrease_dimension(Vertex_handle v, Vertex_handle w = v);
/*!
Removes `v`. The incident simplices of maximal dimension incident to
`v` are replaced by a single simplex of the same dimension. This
-operation is exactly the reciprocal to `tds`.`insert_in_cell(v)` in
-dimension 3, `tds`.`insert_in_facet(v)` in dimension 2, and
-`tds`.`insert_in_edge(v)` in dimension 1.
-\pre `tds`.`degree(v)` \f$ =\f$ `tds`.`dimension()+1`.
+operation is exactly the reciprocal to `insert_in_cell(v)` in
+dimension 3, `insert_in_facet(v)` in dimension 2, and
+`insert_in_edge(v)` in dimension 1.
+\pre \link degree `degree(v)`\endlink \f$ =\f$ `dimension()+1`.
*/
Cell_handle remove_from_maximal_dimension_simplex(Vertex_handle v);
@@ -746,7 +746,7 @@ Cell_handle n2, Cell_handle n3);
\cgalAdvancedBegin
Removes the vertex from the triangulation data structure.
\cgalAdvancedEnd
-\pre The vertex is a vertex of `tds`.
+\pre \link is_vertex `is_vertex(v)`\endlink.
*/
void delete_vertex( Vertex_handle v );
@@ -755,7 +755,7 @@ void delete_vertex( Vertex_handle v );
\cgalAdvancedBegin
Removes the cell from the triangulation data structure.
\cgalAdvancedEnd
-\pre The cell is a cell of `tds`.
+\pre \link is_cell(Cell_handle)const `is_cell(c)`\endlink.
*/
void delete_cell( Cell_handle c );
@@ -924,7 +924,8 @@ Cell_handle start, int f) const;
Copies the `Cell_handle`s of all cells incident to `v` to the
output iterator `cells`.
Returns the resulting output iterator.
-\pre `tds.dimension()` \f$ =3\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`.
+\pre `dimension()` \f$ =3\f$
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink
*/
template
OutputIterator
@@ -934,7 +935,8 @@ incident_cells(Vertex_handle v, OutputIterator cells) const;
Copies the `Facet`s incident to `v` to the output iterator
`facets`.
Returns the resulting output iterator.
-\pre `tds.dimension()` \f$ >1\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`.
+\pre `dimension()` \f$ >1\f$
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink
*/
template
OutputIterator
@@ -943,7 +945,8 @@ incident_facets(Vertex_handle v, OutputIterator facets) const;
/*!
Copies all `Edge`s incident to `v` to the
output iterator `edges`. Returns the resulting output iterator.
-\pre `tds.dimension()` \f$ >0\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`.
+\pre `dimension()` \f$ >0\f$
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink
*/
template
OutputIterator
@@ -951,9 +954,9 @@ incident_edges(Vertex_handle v, OutputIterator edges) const;
/*!
Copies the `Vertex_handle`s of all vertices adjacent to `v` to the
-output iterator `vertices`. If `tds.dimension()` \f$ <0\f$, then do
+output iterator `vertices`. If `dimension()` \f$ <0\f$, then do
nothing. Returns the resulting output iterator.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink
*/
template
OutputIterator
@@ -961,7 +964,8 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const;
/*!
Returns the degree of `v`, that is, the number of incident vertices.
-\pre `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`.
+\pre `v` \f$ \neq\f$ `Vertex_handle()`
+\pre \link is_vertex `is_vertex(v)`\endlink
*/
size_type degree(Vertex_handle v) const;
diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
index 32a38695566..eeff918fe3d 100644
--- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
+++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
@@ -1582,7 +1582,8 @@ Cell_handle start, int f) const;
Copies the `Cell_handle`s of all cells incident to `v` to the output
iterator `cells`.
Returns the resulting output iterator.
-\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() == 3`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1595,7 +1596,8 @@ Returns `true` in case of success. Otherwise, `cells` is emptied and the functio
returns false. In any case, the locked cells are not unlocked by
`try_lock_and_get_incident_cells()`, leaving this choice to the user.
-\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() == 3`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
bool
try_lock_and_get_incident_cells(Vertex_handle v,
@@ -1604,7 +1606,8 @@ bool
Copies the `Cell_handle`s of all finite cells incident to `v` to the output
iterator `cells`.
Returns the resulting output iterator.
-\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() == 3`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1614,7 +1617,8 @@ finite_incident_cells(Vertex_handle v, OutputIterator cells) const;
Copies all `Facet`s incident to `v` to the output iterator
`facets`.
Returns the resulting output iterator.
-\pre `t.dimension() > 1`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() > 1`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1624,7 +1628,8 @@ incident_facets(Vertex_handle v, OutputIterator facets) const;
Copies all finite `Facet`s incident to `v` to the output iterator
`facets`.
Returns the resulting output iterator.
-\pre `t.dimension() > 1`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() > 1`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1633,7 +1638,8 @@ finite_incident_facets(Vertex_handle v, OutputIterator facets) const;
/*!
Copies all `Edge`s incident to `v` to the
output iterator `edges`. Returns the resulting output iterator.
-\pre `t.dimension() > 0`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() > 0`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1642,7 +1648,8 @@ incident_edges(Vertex_handle v, OutputIterator edges) const;
/*!
Copies all finite `Edge`s incident to `v` to the
output iterator `edges`. Returns the resulting output iterator.
-\pre `t.dimension() > 0`, `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `t.dimension() > 0`
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1652,7 +1659,7 @@ finite_incident_edges(Vertex_handle v, OutputIterator edges) const;
Copies the `Vertex_handle`s of all vertices adjacent to `v` to the
output iterator `vertices`. If `t.dimension() < 0`, then do
nothing. Returns the resulting output iterator.
-\pre `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1662,7 +1669,7 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const;
Copies the `Vertex_handle`s of all finite vertices adjacent to `v` to the
output iterator `vertices`. If `t.dimension() < 0`, then do
nothing. Returns the resulting output iterator.
-\pre `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
template
OutputIterator
@@ -1671,7 +1678,7 @@ finite_adjacent_vertices(Vertex_handle v, OutputIterator vertices) const;
/*!
Returns the degree of `v`, that is, the number of incident vertices.
The infinite vertex is counted.
-\pre `v != Vertex_handle()`, `t.is_vertex(v)`.
+\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink.
*/
size_type degree(Vertex_handle v) const;