|
Re: Fusion-ifying proto parse trees: msg#00048parsers.spirit.devel
Joel de Guzman wrote: Eric Niebler wrote: I'm looking at the code, and I'm not seeing it. What I see in joint_view/detail/next_impl.hpp is this: template <> struct next_impl<joint_view_iterator_tag> { template <typename Iterator> struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::last_type last_type; typedef typename Iterator::concat_type concat_type; typedef typename result_of::next<first_type>::type next_type; typedef result_of::equal_to<next_type, last_type> equal_to; typedef typename mpl::if_< equal_to , concat_type , joint_view_iterator< next_type, last_type, concat_type> >::type type; Every time you increment a joint view iterator, you're checking to see if you've reached the end of the first sequence, so you know when to start the second. And if Iterator::first_type is itself a joint view iterator, it *also* must check to see if it's at the end of *its* first sequence to know if it should start its second. And so on. If you do a bunch of push_backs and end up with a joint_view of a joint_view of a joint_view, iterating it will be far from trivial. This sort of flattening-on-the-fly is *exactly* the problem that non-segmented proto has, and is the problem that segmented iterators solve. For the record, I agree that it would be good fusion to have A simpler solution would be nice. The current implementation of join_view_iterator can't get much simpler. It can get faster, though. ;-) -- Eric Niebler Boost Consulting www.boost-consulting.com ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Fusion-ifying proto parse trees: 00048, Joel de Guzman |
|---|---|
| Next by Date: | Re: Fusion-ifying proto parse trees: 00048, Joel de Guzman |
| Previous by Thread: | Re: Fusion-ifying proto parse treesi: 00048, Joel de Guzman |
| Next by Thread: | Re: Fusion-ifying proto parse trees: 00048, Joel de Guzman |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |