|
CGAL 4.5.2 - Handles and Circulators
|
The adaptor Circulator_from_container provides a circulator for an STL container C of equal category as the iterator provided by the container | |
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 | |
| The circulator traits class distinguishes between circulators and iterators | |
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 | |
| A tag for any circulator type | |
| A tag for any iterator type | |
| Forward circulator | |
| Bidirectional circulator | |
| Random access circulator | |
| See Subsection Bidirectional Circulators in the page on Circulators | |
| A Circulator is similar to an Iterator, with the difference that it is designed for circular data structures | |
A constant iterator range. Refer to the Range concept for more details | |
| See Subsection Forward Circulators in the page on Circulators | |
Most data structures in CGAL use the concept of Handle in their user interface to refer to the elements they store. This concept describes what is sometimes called a trivial iterator. A Handle is akin to a pointer to an object providing the dereference operator operator*() and member access operator->() but no increment or decrement operators like iterators. A Handle is intended to be used whenever the referenced object is not part of a logical sequence | |
| See Subsection Random Access Circulators in the page on Circulators | |
| CGAL and the STL heavily use the concepts of iterators and iterator ranges to describe linear sequences of elements, and algorithms operating on these |