title: boost::enable_if with arithmetic expression
body: <p>I have a custom string class with a length as a specialization parameter.  The length should be a minimum of 9 characters and I'd like to make this a compile-time check.</p>
  
  <p>I was hoping to use boost::enable_if for this, but I'm having a hard time figuring out the syntax.  I was hoping there would be something like a boost::is_greater, along the lines of boost::same_as, as below.  But I can't find an expression to put into the enable_if template argument.  Can anyone help?</p>
  
  <p>Unfortunately I can't use C++11 for this.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;boost/utility/enable_if.hpp&gt;
  #include &lt;boost/type_traits.hpp&gt;
  
  template&lt;int LEN, class Enable = void&gt;
  class MyString
  {
  public:
      char data[LEN];
  };
  
  template&lt;int LEN, typename boost::enable_if&lt;boost::is_greater&lt;LEN, 8&gt;::type&gt; &gt;
  class MyString
  {
  };
  
  int main()
  {
      MyString&lt;4&gt; s;
      return snprintf(s.data, 4, "123");
  }
  </code></pre>