Boost.Range

FAQ

  1. Why is there no difference between iterator_of<C>::type and const_iterator_of<C>::type for std::pair<iterator, iterator>.
  2. In general it is not possible nor desirable to find a corresponding const_iterator. When it is possible to come up with one, the client might choose to construct a std::pair<const_iterator,const_iterator> object.

  3. Why is there not supplied more types or more functions?

    The library have been kept small because its current interface will serve most purposes. If and when a genuine need arises for more functionality, it can be implemented.

  4. How should I implement generic algorithms for ranges?

    One should always start with a generic algorithm that takes two iterators (or more) as input. Then use Boost.Range to build handier versions on top of the iterator based algorithm. Please notice that once the range version of the algorithm is done, it makes sense not to expose the iterator version in the public interface.


(C) Copyright Thorsten Ottosen 2003-2004