#include <space_remover.hh>
Inheritance diagram for lestes::lang::cplus::lex::space_remover:

Public Member Functions | |
| virtual ptr< pp_token > | read (void) |
| Reads single token. | |
Static Public Member Functions | |
| static ptr< space_remover > | create (const ptr< pp_filter > &a_input) |
| Returns new object. | |
Protected Member Functions | |
| space_remover (const ptr< pp_filter > &a_input) | |
| Creates new object. | |
Private Member Functions | |
| space_remover (const space_remover ©) | |
| Hides copy constructor. | |
| space_remover & | operator= (const space_remover &rhs) |
| Hides assignment operator. | |
Represents remover of whitespace preprocessing tokens.
Definition at line 49 of file space_remover.hh.
| lestes::lang::cplus::lex::space_remover::space_remover | ( | const ptr< pp_filter > & | a_input | ) | [protected] |
| lestes::lang::cplus::lex::space_remover::space_remover | ( | const space_remover & | copy | ) | [private] |
Hides copy constructor.
| ptr< pp_token > lestes::lang::cplus::lex::space_remover::read | ( | void | ) | [virtual] |
Reads single token.
Reads next token, skips whitespace, i.e. pp_token::TOK_LINE_END and pp_token::TOK_BLANK
Implements lestes::lang::cplus::lex::pp_filter.
Definition at line 56 of file space_remover.cc.
References lestes::lang::cplus::lex::pp_filter::input_read(), lestes::lang::cplus::lex::pp_token::TOK_BLANK, and lestes::lang::cplus::lex::pp_token::TOK_LINE_END.
00057 { 00058 ptr<pp_token> tok; 00059 pp_token_type ppt; 00060 00061 do { 00062 tok = input_read(); 00063 ppt = tok->type_get(); 00064 } while (ppt == pp_token::TOK_LINE_END || ppt == pp_token::TOK_BLANK); 00065 return tok; 00066 }
| ptr< space_remover > lestes::lang::cplus::lex::space_remover::create | ( | const ptr< pp_filter > & | a_input | ) | [static] |
Returns new object.
Returns new remover.
| a_input | The input for the filter. |
Definition at line 74 of file space_remover.cc.
References space_remover().
00075 { 00076 return new space_remover(a_input); 00077 }
| space_remover& lestes::lang::cplus::lex::space_remover::operator= | ( | const space_remover & | rhs | ) | [private] |
Hides assignment operator.
1.5.1-20070107