title: std::numeric_limits as a Condition
body: <p>Is there a way that I can use <code>std::numeric_limits&lt;T&gt;::is_integer</code> and <code>std::numeric_limits&lt;T&gt;::is_specialized</code> to change template behavior?</p>
  
  <p>For example can I do this:</p>
  
  <pre><code>template &lt; typename T &gt;
  void foo( const T&amp; bar )
  {
      if( std::numeric_limits&lt; T &gt;::is_integer )
      {
          isInt( bar );
      }
      else if( std::numeric_limits&lt; T &gt;::is_specialized )
      {
          isFloat( bar );
      }
      else
      {
          isString( bar );
      }
  }
  </code></pre>