Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2006-05-07 21:38:23


Tobias Schwinger wrote:
> Hi again,
>
>
> It would be very cool if fusion::pair would be compatible with mpl::pair, so that MPL's "first" and "second" metafunctions work...
>
> Maybe the names of the type members in "mpl::pair" should be changed from "first/second" to "first_type/second_type", because then
>
> 1. "std::pair" could be used with MPL and Fusion (*),
> 2. "fusion::pair" could be used with MPL, and
> 3. "mpl::pair" could be used as a Fusion pair, if no runtime data is required
>
> (*) in place of a fusion::pair and not as an "adapted sequence".

Here's my current thinking on this:

1) mpl::pair can be a conforming mpl sequence
2) fusion::pair can be a conforming fusion sequence
3) Hence, mpl::pair and fusion::pair can both be conforming
    mpl sequences and at the same time, also be conforming
    fusion sequences.

Maybe:

1) fusion::map elements can be generalized to be any fusion
sequence with at least 2 elements.

2) mpl::map elements can be generalized to be any mpl
sequence with at least 2 elements.

Conclusion:

The type/type-value sequence is such a powerful concept. Almost
any data structure can be defined in terms of sequence. If all
our data structures are also conforming sequences, The C++ world
would be such an exciting world!

Regards,

-- 
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