\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - CGAL and the Boost Graph Library

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
HalfedgeListGraph Concept Reference
Concepts

## Definition

The concept `HalfedgeListGraph` refines the concept `HalfedgeGraph` and adds the requirements for traversal of all halfedges in the graph.

Refines:
  `HalfedgeGraph`

Has Models:

  `CGAL::Polyhedron_3`

  `CGAL::Surface_mesh`

Notations

`G`
  A type that is a model of `HalfedgeListGraph`.
`g`
  An object of type `G`.

Associated Types

Type | Description
--- | ---
`boost::graph_traits<G>::halfedge_iterator` | A `BidirectionalIterator` over all halfedges in a graph. Must be `DefaultConstructible`, `Assignable`, `EqualityComparable`.
`boost::graph_traits<G>::halfedges_size_type` | A size type.

Valid Expressions

Expression | Returns | Description
--- | --- | ---
`num_halfedges(g)` | `halfedges_size_type` | An upper bound of the number of halfedges of the graph.
`halfedges(g)` | `std::pair<halfedge_iterator,halfedge_iterator>` | An iterator range over the halfedges of the graph.

Attention
  `num_halfedges()` may return a number larger than `std::distance(halfedges(g).first,halfedges(g).second)`. This is the case for implementations only marking halfedges deleted in the halfedge container.