|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2006-09-27 10:52:01
Joel de Guzman <joel_at_[hidden]> writes:
> David Abrahams wrote:
>> Joel de Guzman <joel_at_[hidden]> writes:
>>
>>> Hi,
>>>
>>> Ok, as promised. Support for classic boost::tuple has been added.
>>> Now yer ole boost tuples are full fusion citizens. Now boost::tuple
>>> can do for_each, transform, fold, find, assign/convert to other
>>> fusion sequences, etc.
>>>
>>> Now there are 3 adapted sequences:
>>> 1) std::pair
>>
>> This one is going to cause me issues. I'm writing a unified library
>> to operate on static and dynamic sequences. Here's the
>> issue: is
>>
>> pair<int*,int*>
>>
>> a dynamic sequence that goes from the first pointer to the 2nd (as in
>> Boost.Range), or a static sequence with 2 elements (a la Fusion)?
>
> Both? I think, in as much as boost::array<int> is a dynamic
> sequence that STL algorithms can operate on, and at the same
> time, is also a static sequence fusion algorithms can handle,
> the same should be true for mono-sequences like pair<int*,int*>.
[what's a mono-sequence?]
It's not the same thing at all. In the case of array<int>, the
sequence has the same elements in either case; we're just talking
about two ways of accessing the same sequence. In the case of
std::pair there are two completely distinct interpretations, either of
which could be valid. In my case I think there are only two possible
choices:
1. say that std::pair needs to be wrapped or otherwise
transformed before I know how to treat it.
2. pick one of the two interpretations.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk