## CGAL::Tpm_face_base

### Definition

The class Tpm_face_base is a face in the DCEL. The methods it defines return void* since the Vertex and Halfedge classes are not known to it. A casting will be done inside the DCEL.

### Implementation

It uses an STL list as a holes container. The list stores void* objects that point to a representative halfedge for every hole in the face.

#include <CGAL/Topological_map_bases.h>

### Types

Tpm_face_base::Holes_iterator
| a bidirectional iterator for traversing the holes container, its value type is void*.
Tpm_face_base::Holes_const_iterator

Tpm_face_base f;
| default constructor.

### Access Functions

void* | f.halfedge () | an incident halfedge on the outer CCB of f.
const void* | f.halfedge ()
Holes_iterator | f.holes_begin () | a begin iterator of the holes container.
Holes_iterator | f.holes_end () | a past-the-end iterator of the holes container.
Holes_const_iterator
| f.holes_begin ()
Holes_const_iterator
| f.holes_end ()

### Modifiers

void | f.set_halfedge ( void* h)
|  | sets incident halfedge.
void | f.add_hole ( void* h)
|  | adds h to the holes container.
void | f.erase_hole ( Holes_iterator hit)
|  | removes the halfedge referenced by hit from the holes container (the halfedge itself is not erased from the DCEL).

void

f.erase_holes ( | Holes_iterator first, Holes_iterator last)

|  | removes the halfedges in the range [first,last) from the holes container.