I'm sure that boost has some functions for doing this, but I don't know the relevant libraries well enough. I have a template class, which is pretty basic, except for one twist where I need to define a conditional type. Here is the psuedo code for what I want
struct PlaceHolder {}; template <typename T> class C { typedef (T == PlaceHolder ? void : T) usefulType; }; How do I write that type conditional?