title: Overloading template classes by template parameter number
body: <p>Is it possible to have multiple versions of the same class which differ only in the number of template arguments they take?</p>
  
  <p>For instance:</p>
  
  <pre><code>template&lt;typename T&gt;
  class Blah {
  public:
      void operator()(T);
  };
  
  template&lt;typename T, typename T2&gt;
  class Blah {
  public:
      void operator()(T, T2);
  };
  </code></pre>
  
  <p>I'm trying to model functor type things which can take a variable number of arguments (up to the number of different templates that were written out).</p>