\( \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 - Handles and Circulators

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
CGAL Namespace Reference

## Classes
class | Circulator_from_container
| The adaptor `Circulator_from_container` provides a circulator for an STL container `C` of equal category as the iterator provided by the container. More...
class | Circulator_from_iterator
| The adaptor `Circulator_from_iterator` converts two iterators of type `I`, a begin and a past-the-end value, to a circulator of equal category. More...
class | Circulator_traits
| The circulator traits class distinguishes between circulators and iterators. More...
class | Container_from_circulator
| The adaptor `Container_from_circulator` is a class that converts any circulator type `C` to a kind of container class, i.e. a class that provides an `iterator` and a `const_iterator` type and two member functions (`begin()` and `end()`) that return the appropriate iterators. More...
struct | Circulator_tag
| A tag for any circulator type. More...
struct | Iterator_tag
| A tag for any iterator type. More...
struct | Forward_circulator_tag
struct | Bidirectional_circulator_tag
struct | Random_access_circulator_tag
struct | Circulator_base
struct | Forward_circulator_base
struct | Bidirectional_circulator_base
struct | Random_access_circulator_base
class | Forward_circulator_ptrbase
| forward circulator. More...
class | Bidirectional_circulator_ptrbase
| bidirectional circulator. More...
class | Random_access_circulator_ptrbase
| random access circulator. More...

## Functions
template<class C >
void | Assert_circulator (const C &c)
| checks at compile time if its argument is a circulator.
template<class I >
void | Assert_iterator (const I &i)
| checks at compile time if its argument is an iterator.
template<class IC >
void | Assert_circulator_or_iterator (const IC &i)
| checks at compile time if its argument is a circulator or iterator.
template<class I >
void | Assert_input_category (const I &i)
template<class I >
void | Assert_output_category (const I &i)
template<class IC >
void | Assert_forward_category (const IC &ic)
template<class IC >
void | Assert_bidirectional_category (const IC &ic)
template<class IC >
void | Assert_random_access_category (const IC &ic)
template<class C >
C::difference_type | circulator_distance (C c, C d)
| The distance of a circulator `c` to a circulator `d` is the number of elements in the range `[c, d)`. More...
template<class C >
C::size_type | circulator_size (C c)
| The size of a circulator is the size of the data structure it refers to. More...
template<class IC >
bool | is_empty_range (const IC &i, const IC &j)
| is `true` if the range `[i, j)` is empty, `false` otherwise. More...
template<class IC >
iterator_traits< IC > ::difference_type | iterator_distance (IC ic1, IC ic2)
| The following function returns the distance between either two iterators or two circulators. More...
template<class I >
Iterator_tag | query_circulator_or_iterator (const I &i)
| This function matches for type `I` if the iterator category of `I` belongs to an iterator. More...
template<class C >
Circulator_tag | query_circulator_or_iterator (const C &c)
| This functiona matches for type `C` if the iterator category of `C` belongs to a circulator. More...