Add missing low-level peek() to ISstream.

This commit is contained in:
Mark Olesen
2009-12-11 17:31:15 +01:00
parent 73f9f7f780
commit 497ec32ed8
3 changed files with 19 additions and 1 deletions

View File

@ -67,9 +67,15 @@ int main(int argc, char *argv[])
while (is.good())
{
token tok(is);
// char ch;
// is.get(ch);
// is.putback(ch);
int lookahead = is.peek();
if (count == 0)
{
Info<< "token: " << tok.info() << endl;
Info<< "token: " << tok.info();
Info<< " lookahead: '" << char(lookahead) << "'" << endl;
}
}

View File

@ -137,6 +137,12 @@ public:
//- Raw, low-level get character function.
inline ISstream& get(char&);
//- Raw, low-level peek function.
// Does not remove the character from the stream.
// Returns the next character in the stream or EOF if the
// end of file is read.
inline int peek();
//- Raw, low-level getline into a string function.
inline ISstream& getLine(string&);

View File

@ -69,6 +69,12 @@ inline Foam::ISstream& Foam::ISstream::get(char& c)
}
inline int Foam::ISstream::peek()
{
return is_.peek();
}
inline Foam::ISstream& Foam::ISstream::getLine(string& s)
{
getline(is_, s);