Grid Incidence Iterator ConceptGrid IteratorsGrid Sequence iterator Concept

Grid Sequence iterator Concept

Description

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

Notation

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

Associated types

Name

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

Name

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

Name

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
Refinements

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

Models
Notes
  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