
namespace CGAL {

/*!
\ingroup PkgTriangulationsVertexCellClasses

The class `Triangulation_ds_vertex` serves as the default vertex template parameter in the
class `Triangulation_data_structure<Dimensionality, TriangulationDSVertex_, TriangulationDSFullCell_>`.

This class does not contain any geometric information but only combinatorial
(adjacency) information. Thus, if the `Triangulation_data_structure` is
used as a parameter of a (embedded) `Triangulation`, then its vertex template parameter
has to fulfill additional geometric requirements, i.e., it has to be a
model of the refined concept `TriangulationVertex`.

This class can be used directly or can serve as a base to derive other classes
with some additional attributes tuned for a specific application (a color for
example).


\tparam `TriangulationDataStructure_` must be a model of the
`TriangulationDataStructure` concept.

\cgalModels `TriangulationDSVertex`

\cgalHeading{Rebind mechanism}

In case of derivation from that class, the nested class
`Rebind_TDS` need to be provided in the derived class.

\sa `Triangulation_ds_full_cell<TriangulationDataStructure_, TriangulationDSFullCellStoragePolicy>`
\sa `Triangulation_data_structure<Dimensionality, TriangulationDSVertex_, TriangulationDSFullCell_>`

*/
template< typename TriangulationDataStructure_ >
class Triangulation_ds_vertex {
public:

/// \name Validity Check
/// @{

/*!
\cgalAdvancedFunction
\cgalAdvancedBegin
Implements the validity checks required by the concept
`TriangulationDSVertex`. Does not implement additional checks.
\cgalAdvancedEnd
*/
bool is_valid(bool verbose=false) const;

/// @}

}; /* end Triangulation_ds_vertex */
} /* end namespace CGAL */
