Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

LineScanner Class Reference

Inheritance diagram for LineScanner:

Scanner IReadable List of all members.

Public Member Functions

void read (IReader r)
bool next (IBuffer buffer)

Private Member Functions

bool next (IBuffer buffer, int(*scan)(char[]))
int notFound (Token token, char[] content)

Detailed Description

Eat everything until we reach a newline. Use this with a Reader, where you wish to discard everything else in the current line.

Definition at line 346 of file Tokenizer.d.


Member Function Documentation

void read IReader  r  )  [inline]
 

IReadable interface to support Reader.get() & Reader.opShl()

Reimplemented from IReadable.

Definition at line 354 of file Tokenizer.d.

References IReader::getBuffer(), and next().

bool next IBuffer  buffer  )  [inline]
 

Eat all content until we see a '
' character. The content is simply discarded.

Definition at line 366 of file Tokenizer.d.

Referenced by read().

bool next IBuffer  buffer,
int(*  scan)(char[])
[inline, inherited]
 

Scan the given IBuffer for another token, and place the results in the provided token. Note that this should be completely thread-safe so one can instantiate singleton tokenizers without issue.

Each Token is expected to be stripped of the delimiter. An end-of-file condition causes trailing content to be placed into the token. Requests made beyond Eof result in empty tokens (length == zero).

Returns true if a token was isolated, false otherwise.

Definition at line 72 of file Tokenizer.d.

References IBuffer::compress(), IBuffer::getConduit(), IBuffer::getPosition(), IConduit::read(), IBuffer::read(), IBuffer::readable(), IBuffer::skip(), and IBuffer::writable().

int notFound Token  token,
char[]  content
[inline, inherited]
 

Clean up after we fail to find a token. Trailing content is placed into the token, and the scanner is told to try and load some more content (where available).

Definition at line 114 of file Tokenizer.d.

References Token::set().

Referenced by RegexTokenizer::next(), LineTokenizer::next(), PunctTokenizer::next(), SpaceTokenizer::next(), and SimpleTokenizer::next().


The documentation for this class was generated from the following file:
Generated on Sun Nov 7 19:07:07 2004 for Mango by doxygen 1.3.6