From: Larry Evans (cppljevans_at_[hidden])
Date: 2008-03-12 15:40:53
On 03/12/08 09:56, Max Motovilov wrote:
>>> No, they don't look similar. As far as I can tell from a one-minute
>>> look, the solution is simply a nested for_each loop and does not provide
>>> an actual sequence adapter, despite the name cross_product_view.
> That's the danger of one-minute looks... I take that back. Yes, the
> whole thing is a sequence and output pairs are indeed lazily generated.
> I am not sure if this approach can be generalized to an arbitrary number
> of sequences. Perhaps it can be, by making the whole thing a recursive
> template instead of 3 separate ones. I'd try it just to see which
> version results in simpler code (gut feeling: the recursive template)
> and in faster compilation times (gut feeling: my current implementation)
> but customers and management are jointly snapping at my heels...
>> So, in view of that, could you explain why it's not a sequence adapter?
> The usual explanation: needed more coffee :)
I'm afraid I was wrong. here's what I get as the transform output with
where the function producing this is:
typedef mpl::range_c<int,0,3> seq0;
typedef mpl::range_c<int,100,104> seq1;
typedef mpl::cross_product_view<seq0,seq1> type;
and with #define TYPE_TREE_PRINT. Which I expected to see was something
contains pair's of mpl::integral_c<int,I>.
So..., the code I posted is useless :(
Sorry for noise. Back to drawing board.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk