
19 Apr
2011
19 Apr
'11
6:57 p.m.
falcou <Joel.Falcou@lri.fr> writes:
The following code
doesn't compile and i cant get the why of it.
The goal is to have a fusion transform_if that takes a compile-time predicates For each element int he sequence, if the predicates its true, we apply some transform on it, if not we return the element unchanged.
What am I missing ?
The MPL lambda template type parameter of the functor that is passed to Fusion causes the trouble. This functor is used by Fusion as a template type parameter for an internal metafunction class which turns into an (invalid) lambda expression due to the nested placeholder. Making 'preds' a metafunction class, e.g. via mpl::quote1, should make your code compile fine. -Christopher