|
Boost : |
From: jsiek_at_[hidden]
Date: 2000-06-13 16:34:29
Dave Abrahams writes:
> Your version has the advantage of doing some concept checking on the
> wrapped iterators to make sure that they really support (some of) the
> operations required. It also has the advantage of being able to wrap
> a RandomAccessIterator so it looks like a BidirectionalIterator, with
> a truly restricted interface (and why would we want to do that?) My
> version has the advantage of being simpler, and working on VC6. If
> you can handle the VC6 and custom tags issues, I don't see a reason
> not to go with your implementation. We would need much more thorough
> tests than the ones I've written, though.
I just finished the VC6 port and Intel C++ using both the VC++ headers
and STLport. I've updated the vault.
The custom tag issue will be more difficult... as of right now I don't
see a way to handle that. The problem is that class template
specialization requires exact matches. Therefore if you have a
sub-class of std::random_access_iterator_tag, you'll get the default
unspecialized iterator_adaptor instead of the specialization for
std::random_access_iterator_tag :( I'll need to put my thinking cap
on...
As for testing... one thing I've been thinking that boost needs is a
good set of *generic* tests that cover all the STL concepts. I think
several people have peices of this coded already and it might not be
too hard to pull it together.
Cheers,
Jeremy
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk