title: Check if a given type has a inner template rebind
body: <p>I need a trait which will check if a given type has an inner template named <code>rebind</code> which takes a single template type parameter. Something like:</p>
  
  <pre><code>template &lt;typename X&gt;
  struct has_rebind
  {
      static const bool value = /* ??? */;
  };
  </code></pre>
  
  <p>This is similar to what <a href="http://www.boost.org/doc/libs/1_54_0/libs/tti/doc/html/the_type_traits_introspection_library/tti_detail_has_template.html" rel="nofollow">BOOST_TTI_HAS_TEMPLATE</a> does, but I want to implement the trait without the use of Boost TTI, and I do not know how that macro is implemented. </p>