## CGAL::HalfedgeDS_vertex_base<Refs>

### Definition

The class HalfedgeDS_vertex_base<Refs> is a model of the HalfedgeDSVertex concept. Refs is an instantiation of a HalfedgeDS. The template declaration of HalfedgeDS_vertex_base<Refs> has three parameters with some defaults that allow to select various flavors of vertices. The declaration is best explained with the two following declarations, essentially hiding an implementation dependent default setting:

template <class Refs, class T = CGAL::Tag_true>
class HalfedgeDS_vertex_base;

template <class Refs, class T, class Point>
class HalfedgeDS_vertex_base;

HalfedgeDS_vertex_base<Refs> defines a vertex including a reference to an incident halfedge.

CGAL::HalfedgeDS_vertex_base<Refs,CGAL::Tag_false> is a vertex without a reference to an incident halfedge. It is empty besides the required type definitions. It can be used for deriving own vertex implementations. See also CGAL::HalfedgeDS_vertex_min_base<Refs>.

CGAL::HalfedgeDS_vertex_base<Refs,CGAL::Tag_true,Point> is a vertex with a reference to an incident halfedge and it stores a point of type Point. It can be used as a vertex for a model of the PolyhedronItems_3 concept.

CGAL::HalfedgeDS_vertex_base<Refs,CGAL::Tag_false,Point> is a vertex without a reference to an incident halfedge and it stores a point of type Point. It can be used as a vertex for a model of the PolyhedronItems_3 concept.

#include <CGAL/HalfedgeDS_vertex_base.h>

### Is Model for the Concept

HalfedgeDSVertex

### Types

HalfedgeDS_vertex_base<Refs>::Point
| point type for three argument version.

### Creation

HalfedgeDS_vertex_base<Refs> v;
| default constructor.
HalfedgeDS_vertex_base<Refs> v ( Point p);
| initialized with point p.

### Operations

Point& | v.point ()
const Point& | v.point () const

### See Also

HalfedgeDS<Traits,Items,Alloc>
HalfedgeDSItems
PolyhedronItems_3
CGAL::HalfedgeDS_items_2
CGAL::HalfedgeDS_halfedge_base<Refs>
CGAL::HalfedgeDS_face_base<Refs>
CGAL::HalfedgeDS_vertex_min_base<Refs>