$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
----------------------------------------------------------------------