title: Overload operator in template struct
body: <p>I have the following scenario: I have a struct <code>template&lt;typename CType, int D&gt;
  struct Point</code> in which I want to overload the operators &lt; and >. Here comes the catch and the point I am not sure about: I want different implementations of &lt; and > depending on if CType is float/double or int. Right now I'm doing this using typid from typeinfo, but I feel like this is not elegant. How do I go about doing this in a clean way?</p>