title: meta multiple operator overloading
body: <p>The question is if I can find a way to make a parametrized overloading of an operator i.e. instead of </p>
  
  <pre><code>template &lt;class T&gt;
  class A
  {
     private:
         T m_var;
     public:
         operator T () const { return m_var; }
         const A operator+ ( const A&amp; r_var ) const { return m_var + r_var; }
         const A operator- ( const A&amp; r_var ) const { return m_var - r_var; }
         const A operator* ( const A&amp; r_var ) const { return m_var * r_var; }
         const A operator/ ( const A&amp; r_var ) const { return m_var / r_var; }
     ...........
  }
  </code></pre>
  
  <p>to have something like this</p>
  
  <pre><code>template &lt;class T&gt;
  class A
  {
     private:
         T m_var;
     public:
         operator T () const { return m_var; }
         const A operator 'X' ( const A&amp; r_var ) const { return m_var 'X' r_var; }
  
     ...........
  }
  </code></pre>
  
  <p>where 'X' will take values +, -, *, /, and in this way to avoid repetition of the same pattern code. Thanks in advance.</p>