
Brian Braatz writes:
Either something strange is happening with arg<> and transform or I did not write this code correctly. ( :) )
The latter :). [...]
typedef mpl::transform < vec_t, mpl::if_ < boost::is_same<mpl::_1, A >, YES< mpl::_1 >::type, ^^^^^^ NO< mpl::_1 >::type ^^^^^^
::type ^^^^^^^ ::type result;
By requesting '::type' on a metafunction you are immediately instantiating it with the placeholder argument(s), which is not what you want. Try typedef mpl::transform< vec_t , mpl::if_< , boost::is_same<mpl::_1, A> , YES< mpl::_1 > , NO< mpl::_1 > > >::type result; instead. HTH, -- Aleksey Gurtovoy MetaCommunications Engineering