LLVM API Documentation

Public Member Functions | Friends
llvm::line_iterator Class Reference

A forward iterator which reads text lines from a buffer. More...

#include <LineIterator.h>

Inheritance diagram for llvm::line_iterator:
Inheritance graph
[legend]
Collaboration diagram for llvm::line_iterator:
Collaboration graph
[legend]

List of all members.

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_iteratoroperator++ ()
 Advance to the next (non-empty, non-comment) line.
line_iterator operator++ (int)
StringRef operator* () const
 Get the current line as a StringRef.
const StringRefoperator-> () const

Friends

bool operator== (const line_iterator &LHS, const line_iterator &RHS)
bool operator!= (const line_iterator &LHS, const line_iterator &RHS)

Detailed Description

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.


Constructor & Destructor Documentation

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().


Member Function Documentation

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().

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.

const StringRef* llvm::line_iterator::operator-> ( ) const [inline]

Definition at line 71 of file LineIterator.h.


Friends And Related Function Documentation

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.


The documentation for this class was generated from the following files: