Grid Incidence Iterator ConceptGrid IteratorsGrid Sequence iterator Concept

Grid Sequence iterator Concept


A Grid Sequence Iterator lets a Grid Range be seen as a sequence of the iterators element type.

Refinement of

STL Forward Iterator X
Grid Entity


I is a model of sequence iterator
i, j are objects of type I

Associated types


Expression Description
grid type I::grid_type type of the underlying grid, model of Grid
anchor type I::anchor_type type of the underlying grid range, model of Grid Range
element type I::element_type type of the underlying element, model of Grid Element
value type I::value_type synomym for I::element_type

Valid Expressions


Expression Type requirements return type
prefix increment ++it;   I&
dereference *it;   I::element_type
equality comparison i == j   bool
validity check i.IsDone();   bool

Expression semantics


Expression Precondition Semantics Postcondition
prefix increment ++i; ! i.IsDone() move iterator forward i.IsDone() or *i is a valid grid element
dereference e = *it; ! it.IsDone() access the element it points to E == (*it);
equality comparison i == j &(i.TheGrid()) == &(j.TheGrid()) true if i and j reference the same element: *i == *j  
validity check i.IsDone();   true iff i is past-the-end.  

Complexity guarantees

Grid Vertex Iterator
Grid Edge Iterator
Grid Face Iterator
Grid Facet Iterator
Grid CellIterator

  1. For the existing models, this is currently only partially implemented: postfix increment is missing (it is inefficient because of the temporary object involved), and iterator_traits<> is not (yet) specialized. However, the main property of Forward Iterator, namely support of multiple passes, is satisfied.
See also

Grid   Grid Element   Grid Incidence Iterator

Guntram Berti

Grid Incidence Iterator ConceptGrid IteratorsGrid Sequence iterator Concept