[MPL] zip_view documentation bug?

I think I've found either a bug in zip_view with gcc or a bug in the zip_view docs. If I try to use a zip_view<> in which the sequences are not all of the same length, the compiler goes into "infinite" recursion instantiating at<> templates until it hits the instantiation limit. According to the MPL reference manual, the size<> of the sequence should be the minimum of the size<>es of all the participating sequences. At first I thought this was only a problem when one of the sequences is empty but I was able to reproduce it with populated sequences of varying length. Just two is enough to expose it. This is a problem with gcc 3.2, 3.3 and 3.4. I can work around the problem by using iterator_range<> and copy<> to truncate the sequences before feeding them to zip_view<>. What's supposed to happen in this case? -Dave

David Greene wrote:
I think I've found either a bug in zip_view with gcc or a bug in the zip_view docs.
If I try to use a zip_view<> in which the sequences are not all of the same length, the compiler goes into "infinite" recursion instantiating at<> templates until it hits the instantiation limit.
According to the MPL reference manual, the size<> of the sequence should be the minimum of the size<>es of all the participating sequences.
At first I thought this was only a problem when one of the sequences is empty but I was able to reproduce it with populated sequences of varying length. Just two is enough to expose it.
This is a problem with gcc 3.2, 3.3 and 3.4.
I can work around the problem by using iterator_range<> and copy<> to truncate the sequences before feeding them to zip_view<>.
What's supposed to happen in this case?
Can you post a minimal reproducible test case please? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (2)
-
David Abrahams
-
David Greene