LLVM API Documentation
A forward iterator which reads text lines from a buffer. More...
#include <LineIterator.h>
Public Member Functions | |
line_iterator () | |
Default construct an "end" iterator. | |
line_iterator (const MemoryBuffer &Buffer, bool SkipBlanks=true, char CommentMarker= '\0') | |
Construct a new iterator around some memory buffer. | |
bool | is_at_eof () const |
Return true if we've reached EOF or are an "end" iterator. | |
bool | is_at_end () const |
Return true if we're an "end" iterator or have reached EOF. | |
int64_t | line_number () const |
Return the current line number. May return any number at EOF. | |
line_iterator & | operator++ () |
Advance to the next (non-empty, non-comment) line. | |
line_iterator | operator++ (int) |
StringRef | operator* () const |
Get the current line as a StringRef . | |
const StringRef * | operator-> () const |
Friends | |
bool | operator== (const line_iterator &LHS, const line_iterator &RHS) |
bool | operator!= (const line_iterator &LHS, const line_iterator &RHS) |
A forward iterator which reads text lines from a buffer.
This class provides a forward iterator interface for reading one line at a time from a buffer. When default constructed the iterator will be the "end" iterator.
The iterator is aware of what line number it is currently processing. It strips blank lines by default, and comment lines given a comment-starting character.
Note that this iterator requires the buffer to be nul terminated.
Definition at line 32 of file LineIterator.h.
llvm::line_iterator::line_iterator | ( | ) | [inline] |
Default construct an "end" iterator.
Definition at line 43 of file LineIterator.h.
line_iterator::line_iterator | ( | const MemoryBuffer & | Buffer, |
bool | SkipBlanks = true , |
||
char | CommentMarker = '\0' |
||
) | [explicit] |
Construct a new iterator around some memory buffer.
Definition at line 15 of file LineIterator.cpp.
References llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferSize(), and llvm::MemoryBuffer::getBufferStart().
bool llvm::line_iterator::is_at_end | ( | ) | const [inline] |
Return true if we're an "end" iterator or have reached EOF.
Definition at line 53 of file LineIterator.h.
References is_at_eof().
Referenced by llvm::TextInstrProfReader::readNextRecord().
bool llvm::line_iterator::is_at_eof | ( | ) | const [inline] |
Return true if we've reached EOF or are an "end" iterator.
Definition at line 50 of file LineIterator.h.
Referenced by is_at_end(), and sampleprof::SampleProfileReader::loadText().
int64_t llvm::line_iterator::line_number | ( | ) | const [inline] |
Return the current line number. May return any number at EOF.
Definition at line 56 of file LineIterator.h.
Referenced by sampleprof::SampleProfileReader::loadText().
StringRef llvm::line_iterator::operator* | ( | ) | const [inline] |
Get the current line as a StringRef
.
Definition at line 70 of file LineIterator.h.
line_iterator& llvm::line_iterator::operator++ | ( | ) | [inline] |
Advance to the next (non-empty, non-comment) line.
Definition at line 59 of file LineIterator.h.
line_iterator llvm::line_iterator::operator++ | ( | int | ) | [inline] |
Definition at line 63 of file LineIterator.h.
Definition at line 71 of file LineIterator.h.
bool operator!= | ( | const line_iterator & | LHS, |
const line_iterator & | RHS | ||
) | [friend] |
Definition at line 78 of file LineIterator.h.
bool operator== | ( | const line_iterator & | LHS, |
const line_iterator & | RHS | ||
) | [friend] |
Definition at line 73 of file LineIterator.h.