title: How to implement operator-> for iterator type?
body: <p>Is there a way to implement operator->, not only operator*. To have following code working:</p>
  
  <pre><code>Iterator&lt;value&gt; it = ...
  i = (*it).get();
  i = it-&gt;get(); // also works
  </code></pre>
  
  <p>Let we say that value type has method get.
  When Iterator is implemnted as below:</p>
  
  <pre><code>template&lt;T&gt; class Iterator {
      T operator*() { return ... }
      T operator-&gt;()  { return ... }
   }
  </code></pre>
  
  <p>Here ... is an implementation of getting right T object.</p>
  
  <p>Somehow it won't work when I implement it in this way. I think I misunderstand something.</p>