From: Joel de Guzman (joel_at_[hidden])
Date: 2006-05-10 07:57:42
Eric Niebler wrote:
>> - What is your evaluation of the design?
> Very nice. Joel and Dan have put a lot of thought into the design of
> Fusion. Lazy heterogeneous sequences are very powerful. As Joel and I
> have discussed extensively in recent weeks, support for segmented data
> structures would make traversal of some sorts of sequences much more
> efficient. Joel seems interested and committed to making these changes,
> and I'm happy to help.
I think the segmentation idea is very good. I love the direction that
this is leading to. Thank you very much for spear-heading the effort.
> Like Dave, I'd like to see some more thought put into the extensibility
> mechanism. Defining new Fusion iterators is a bit painful, and something
> like a Fusion iterator adaptor library might be very useful. That might
> be possible if the metafunctions were all part of the same struct. I'd
> be satisfied with an analysis that breaks down the pros and cons of such
> an approach.
As I mentioned in my reply to Eric Friedman, the extensibility mechanism
is no more difficult than extending MPL. It just so happens that the
extension section gave a not so trivial example (that of a random access
and associative sequence). Anyway, I do agree that a better extension
mechanism, if one can be found, would be a definite boon to using
> Some miscelaneous questions:
> - Why is there a traits::tag_of<> for extracting the sequence tag, but
> no corresponding metafunction for extracting the iterator's tag?
traits::tag_of<> should be usable for iterators too. The docs should
make that clear.
> - Why do I have to declare both my sequence's category *and* my
> iterator's category? Won't there always be an obvious relation between them?
Iterators do not have the exact same categories as sequences. For
example, iterators do not have the associative category.
> - how is is_view<> used? The Extensibility section says I have to
> specialize it, but I don't think it says anywhere why.
I'll discuss this in another post.
> - Where is as_tuple? I need it!
It resides in the future :)
>> - What is your evaluation of the implementation?
> Top notch. Clean and very granular headers. The directory structure
> could be a bit simpler, but that's a nit.
Thanks! What directory structure do you have in mind?
> I vote to accept.
Thank you very much!
-- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk