All right, I'm still trying to figure out the MPL lambda stuff. I had expected this to work: template<typename Arg> some func { typedef ... type; }; typedef transform< sequence, some_func<_>
::type result;
But I get a compiler error about a missing apply<> in some_func.
This works:
typedef transform<
sequence,
quote1
::type result;
I don't understand why the placeholder doesn't convert some_func
to an appropriate metafunction class.
Similarly, I tried to use unpack args:
template
::type result;
The compiler complained about a missing apply<> in some_func2.
Again, this worked:
typedef transform<
zipped_sequence,
unpack_args
::type result;
Is it because I'm using _ rather than _1 and _2? The examples in the MPL manual using is_same, etc. work fine for me. Learning lots. Hope to learn more. :) -Dave