本文整理汇总了C++中std::istringstream::eof方法的典型用法代码示例。如果您正苦于以下问题:C++ istringstream::eof方法的具体用法?C++ istringstream::eof怎么用?C++ istringstream::eof使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::istringstream
的用法示例。
在下文中一共展示了istringstream::eof方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: factor
void factor( std::istringstream &ss, char &lookahead ) {
if ( isDigit {}( lookahead ) ){
int value = 0;
do {
value = value * 10 + ToDigit {}( lookahead );
lookahead = ss.get();
} while ( !ss.eof() && isDigit {} ( lookahead ) );
print ( value );
} else if ( lookahead == '(' ) {
match ( ss, lookahead, '(' );
expr( ss, lookahead );
if( lookahead != ')' ){
throw fail { "Expected a closing parenthesis before end of line." };
}
match ( ss, lookahead, ')' );
} else if ( isWhiteSpace {} ( lookahead ) ) {
for (;; lookahead = ss.get() ){
if( isWhiteSpace {}( lookahead ) ) continue;
else break;
}
} else {
std::cerr << "Syntax Error: expecting a digit, got '" << lookahead << "' instead." << std::endl;
abort();
}
}
示例2: convert
void convert( unsigned int count, std::istringstream& inputStream, T * value )
{
DP_ASSERT( count );
for ( unsigned int i=0 ; i<count ; i++ )
{
DP_ASSERT( !inputStream.eof() && !inputStream.bad() );
value[i] = convert<T>( inputStream );
}
}
示例3: rest_2
void rest_2( std::istringstream &ss, char &lookahead )
{
while( !ss.eof() ){
char tempToken = lookahead;
if( lookahead == '*' ) {
match( ss, lookahead, '*' );
factor( ss, lookahead );
print( tempToken );
} else if ( lookahead == '/' ) {
match ( ss, lookahead, '/' );
factor( ss, lookahead );
print( '/' );
} else if ( isWhiteSpace {}( lookahead ) ) {
for(;; lookahead = ss.get() ){
if( isWhiteSpace {}( lookahead ) ) continue;
else break;
}
} else {
break;
}
}
}
示例4: rest
void rest( std::istringstream &ss, char &lookahead )
{
while( !ss.eof() ) {
char tempToken = lookahead;
if ( lookahead == '+' ) {
match( ss, lookahead, '+' );
term ( ss, lookahead );
print( tempToken );
rest( ss, lookahead );
} else if ( lookahead == '-' ) {
match( ss, lookahead, '-' );
term( ss, lookahead );
print( tempToken );
rest( ss, lookahead );
} else if ( isWhiteSpace {} ( lookahead ) ) {
for(;; lookahead = ss.get() ){
if( isWhiteSpace {}( lookahead ) ) continue;
else break;
}
} else {
break; //we have an epsilon production
}
}
}