title: Construct a boost variant containing a value of the nth-type in the variant type index?
body: <p>I want to construct <code>boost::variant</code>s containing default-constructed values, specified with a type index - without writing my own switch statement over the type index.</p>
  
  <p>I figure this <em>must</em> be possible, somehow, with MPL?</p>
  
  <p>To clarify though, the index <strong>is not</strong> a compile-time constant expression.</p>
  
  <p>The use case is that I need to construct a variant which will later be replaced with one containing the correct value, but at this point I only know the type index. Think of it as a lazy deserialisation problem.</p>