|
CGAL 6.0 - Handles and Circulators
|
#include <CGAL/circulator.h>
The circulator traits class distinguishes between circulators and iterators.
It defines a local type category that is identical to the type Circulator_tag if the iterator category of the argument C is a circulator category. Otherwise it is identical to the type Iterator_tag.
The local type iterator_category gives the corresponding iterator category for circulators, i.e. one of forward_iterator_tag, bidirectional_iterator_tag, or random_access_iterator_tag.
The local type circulator_category gives the corresponding circulator category for iterators, i.e. one of Forward_circulator_tag, Bidirectional_circulator_tag, or Random_access_circulator_tag.
Example
A generic function bar() that distinguishes between a call with a circulator range and a call with an iterator range:
Types | |
| typedef unspecified_type | category |
either Iterator_tag or Circulator_tag. | |
| typedef unspecified_type | iterator_category |
| corresponding iterator category for circulators. | |
| typedef unspecified_type | circulator_category |
| corresponding circulator category for iterator. | |