Does peek() on an already "EOF"ed ifstream continue to return EOF?
<p>Simple code:</p>

<pre><code>std::ifstream file("file.txt");
std::string line;
while(getline(file,line))
  ; //exhaust file

//in this sample code, for simplicity assert that the only possible "fail"
//is EOF (which it will always be under normal circumstances).
assert(!file.fail() || file.eof());

assert(file.peek() == EOF); //does this always hold?
</code></pre>

<p>Will the final assert always succeed?</p>

<p>Question rephrased: Does the location after EOF also return EOF?</p>

<p>The documentation doesn't clearly mention what peek() does when the stream is ALREADY AT EOF, so hence my question.</p>
