Boost logo

Boost Users :

Subject: [Boost-users] Boost Concepts with iterators and ranges
From: Robert Ramey (ramey_at_[hidden])
Date: 2011-02-21 02:07:08


I've been experimenting with Boost Concepts in conjunction with Boost Range
and by implication
boost iterators. I have a few questions from the documentation:

a) I see BOOST_CONCEPT_USAGE described in some detail in the section
Creating Concept Checking Classes. But in the section titled "Reference" I
only
find in the subsection "macros" BOOST_CONCEPT_ASSERT and
BOOST_CONCEPT_REQUIRES.
Is BOOST_CONCEPT_USAGE meant to be used?

b) "Deprecated Concept Checking Classes"

"For each of the concepts documented here, the library includes an identical
concept checking class whose name ends in "Concept" For example, in addition
to RandomAccessIterator, the library defines a RandomAccessIteratorConcept
class template."

It sounds like this means that I shouldn't expect to find
"WritableIteratorConcept" but in fact in "interator_concepts.hpp" find just
that. I'm assuming that's an oversight.

c) except for the above, the Range library uses things like
ForwardTraversal and ForwardTraversalConcept
 the iterators library uses ForwardTraversal only.

d) the iterators concepts are in the root namespace boost_concepts while the
range
concepts are in the root namespace boost.

e) boost/range/concepts.hpp includes the file
boost/iterator/iterator_concepts.hpp

All this makes it very hard to keep all this straight in one's head. Is
there any
possibility that all this could be made simpler to follow by some
combination
of documentation improvements and/or namespace coordination?

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net