title: Can [std::streampos] be converted to [size_t] implicitly?
body: <pre><code>#include &lt;fstream&gt;
  
  int main()
  {
      std::ifstream fin{ "" };
      size_t n = fin.tellg(); // ok
  }
  </code></pre>
  
  <p>The code compiles ok. However, according to <a href="http://en.cppreference.com/w/cpp/io/fpos" rel="noreferrer">cppreference</a>, I find <code>fin.tellg()</code> is a type of <code>std::fpos</code>, which doesn't define the ability to convert itself to <code>size_t</code> implicitly.</p>
  
  <p>Any explanations?</p>