| CGAL 6.1 - 2D Triangulation Data Structure
    | 
The concept TriangulationDSVertexBase_2 describes the requirements for the vertex base class of a CGAL::Triangulation_data_structure_2<Vb,Fb>.
Note that if the CGAL::Triangulation_data_structure_2 is plugged into a triangulation class, the vertex base class may have additional geometric requirements depending on the triangulation class.
At the base level, provides access to one of its incident faces through a Face_handle.
Since the CGAL::Triangulation_data_structure_2 is the class which defines the handle types, the vertex base class has to be somehow parameterized by the triangulation data structure. But since the CGAL::Triangulation_data_structure_2 itself is parameterized by the face and vertex base classes, there is a cycle in the definition of these classes. In order to break the cycle, the base classes for faces and vertices which are plugged in to instantiate a Triangulation_data_structure_2 use void as triangulation data structure parameter. Then, the CGAL::Triangulation_data_structure_2 uses a rebind mechanism (similar to the one specified in std::allocator) in order to plug itself as parameter in the face and vertex base classes. This mechanism requires that the base class provides a templated nested class Rebind_TDS that itself provides the subtype Rebind_TDS::Other which is the rebound version of the base class. This rebound base class is the class that the CGAL::Triangulation_data_structure_2 actually uses as a base class for the class of CGAL::Triangulation_data_structure_2::Vertex.
CGAL::Triangulation_ds_vertex_base_2<Tds> TriangulationDSFaceBase_2 CGAL::Triangulation_data_structure_2<Vb,Fb> | Types | |
| The concept  | |
| template<typename TDS2 > | |
| using | Rebind_TDS = unspecified_type | 
| This template class has to define a type Rebind_TDS<TDS2>::Otherwhich is the rebound vertex base , where the actualCGAL::Triangulation_data_structure_2is plugged in. | |
| typedef TriangulationDataStructure_2 | Triangulation_data_structure | 
| typedef TriangulationDataStructure_2::Vertex_handle | Vertex_handle | 
| typedef TriangulationDataStructure_2::Face_handle | Face_handle | 
| Creation | |
| TriangulationDSVertexBase_2 () | |
| default constructor. | |
| TriangulationDSVertexBase_2 (Face_handle f) | |
| Constructs a vertex pointing to face f. | |
| Various | |
| These member functions are required by  See the documentation of  | |
| void * | for_compact_container () const | 
| void | for_compact_container (void *p) | 
| using TriangulationDSVertexBase_2::Rebind_TDS = unspecified_type | 
This template class has to define a type Rebind_TDS<TDS2>::Other which is the rebound vertex base , where the actual CGAL::Triangulation_data_structure_2 is plugged in. 
This type Other will be the actual base of the class CGAL::Triangulation_data_structure_2::Vertex.