2010/5/25 John Dlugosz <JDlugosz@tradestation.com>

>    typedef BaseClass<etc.> super;

It turns out that this does work under VS2008.

Have you tried using injected names under VS2008? Like this:

template <typename T>
struct C
    : boost::mpl::if_<
        is_blue<T>,
        Ca <T>,
        Cb<T>
      >::type {
  C(blah& a, xxx b) : if_(a, b) {}
};

Roman Perepelitsa.