title: Conditional type definitions
body: <p>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</p>
  
  <pre><code>struct PlaceHolder {};
      template &lt;typename T&gt;
  class C{
      typedef (T == PlaceHolder ? void : T) usefulType;
  };
  </code></pre>
  
  <p>How do I write that type conditional?</p>