Joel de Guzman wrote:
John C. Femiani wrote: <snip>
I think it is also confusing that fusion sequences are mpl sequences IF you include 'fusion/mpl.hpp', but not if you include 'fusion/adapted/mpl.hpp'. I would like to see that in the docs please (it took me some time to figure out).
Will do. Just out of curiosity, how did you figure it out? Which section in the docs did you look into first? Thanks! I'll answer in reverse order.
Which section in the docs did you look into first? First, I wanted the types in a fusion sequence as an mpl sequence. I googled, and found the introduction of the Fusion library, (which I had read before) :
Just out of curiosity, how did you figure it out? The concept assert failed because some MPL meta functions were missing. I realized that the fusion sequence could not be an mpl sequence, and
"""
Fusion provides full round compatibility with MPL. Fusion sequences are
fully conforming MPL sequences and MPL sequences are fully compatible
with Fusion. You can work with Fusion sequences on MPL if you wish to
work solely on types. In MPL, Fusion sequences follow MPL's
sequence-type preserving semantics (i.e. algorithms preserve the
original sequence type. e.g. transforming a vector returns a vector).
You can also convert from an MPL sequence to a Fusion sequence. For
example, there are times when it is convenient to work solely on MPL
using pure MPL sequences, then, convert them to Fusion sequences as a
final step before actual instantiation of real runtime objects with
data. You have the best of both worlds.
""""
which led me to think I could just plunk a fusion sequence in wherever
an MPL sequence already worked. I wanted to make sure every element in
the fusion sequence passed a concept check, so I did this:
//---------------------------
//in a header, in a detail namespace with some 'using mpl::' statements.
template