title: C++ templates that accept only certain types
body: <p>In Java you can define generic class that accept only types that extends class of your choice, eg:</p>
  
  <pre><code>public class ObservableList&lt;T extends List&gt; {
    ...
  }
  </code></pre>
  
  <p>This is done using "extends" keyword.</p>
  
  <p>Is there some simple equivalent to this keyword in C++? </p>