title: Explicitly instantiate templates using a tuple
body: <p>To explicitly instantiate a class template I can do the following:</p>
  
  <pre><code>//.h
  template&lt;typename T&gt;
  class Foo{};
  
  
  //.cpp
  template class Foo&lt;float&gt;;
  </code></pre>
  
  <p>This is nice because the <code>Foo&lt;float&gt;</code> class will only have to be instantiated once now when being used from many places. Would it be possible to explicitly instantiate <code>Foo&lt;T&gt;</code> with a tuple of predetermined types? Lets say the tuple is <code>std::tuple&lt;float, int, bool&gt;</code>, which I want to use to instantiate <code>Foo&lt;float&gt;, Foo&lt;int&gt;</code> and <code>Foo&lt;bool&gt;</code></p>