Boost logo

Boost :

From: Jeremy Siek (jsiek_at_[hidden])
Date: 2000-12-29 21:31:00


The iterator requirements defined in the C++ Standard have a flaw. They
glom together two separate issues into a single set of concepts. The two
issues are iterator motion and dereference return type semantics. These
two issues are inherently orthogonal and therefore ought to be represented
by two separate sets of concepts. I've scetched out what I think these
two sets of concepts should be (see egroups files iterator_concepts.zip).
As a quick preview, here's the list of the concepts:

Concepts to handle return type semantics

  ReadableIterator
  WritableIterator
  LvalueIterator

Concepts to handle iterator motion

  SinglePassIterator
  ForwardIterator
  BidirectinalIterator
  RandomAccessIterator

Cheers,
Jeremy

----------------------------------------------------------------------
 Jeremy Siek www: http://www.lsc.nd.edu/~jsiek/
 Ph.D. Candidate email: jsiek_at_[hidden]
 Univ. of Notre Dame work phone: (219) 631-3906
----------------------------------------------------------------------


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk