title: let template choose between char/short/int by specifiying bitsize?
body: <p>I've got something like this:</p>
  
  <pre><code>template&lt;int SIZE&gt;
  struct bin {
  private:
  public:
      struct {
          int _value : SIZE;
      };
  }
  </code></pre>
  
  <p>Is it possible to change the datatype of _value depending on SIZE? If SIZE is &lt;= 7, I want _value to be a char. If it is >= 8 and &lt;= 15, I want it to be short and if it is &lt;= 31, I want it to be an integer.</p>