LLVM  8.0.1
Public Member Functions | Friends | List of all members
llvm::line_iterator Class Reference

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

#include "llvm/Support/LineIterator.h"

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

Public Member Functions

 line_iterator ()
 Default construct an "end" iterator. More...
 
 line_iterator (const MemoryBuffer &Buffer, bool SkipBlanks=true, char CommentMarker='\0')
 Construct a new iterator around some memory buffer. More...
 
bool is_at_eof () const
 Return true if we've reached EOF or are an "end" iterator. More...
 
bool is_at_end () const
 Return true if we're an "end" iterator or have reached EOF. More...
 
int64_t line_number () const
 Return the current line number. May return any number at EOF. More...
 
line_iteratoroperator++ ()
 Advance to the next (non-empty, non-comment) line. More...
 
line_iterator operator++ (int)
 
StringRef operator* () const
 Get the current line as a StringRef. More...
 
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

◆ line_iterator() [1/2]

llvm::line_iterator::line_iterator ( )
inline

Default construct an "end" iterator.

Definition at line 43 of file LineIterator.h.

◆ line_iterator() [2/2]

line_iterator::line_iterator ( const MemoryBuffer Buffer,
bool  SkipBlanks = true,
char  CommentMarker = '\0' 
)
explicit

Member Function Documentation

◆ is_at_end()

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

◆ is_at_eof()

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 llvm::sampleprof::SampleProfileReaderText::hasFormat(), is_at_end(), llvm::SymbolRemappingReader::read(), and llvm::sampleprof::SampleProfileReaderText::read().

◆ line_number()

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 llvm::SymbolRemappingReader::read(), and llvm::sampleprof::SampleProfileReaderText::read().

◆ operator*()

StringRef llvm::line_iterator::operator* ( ) const
inline

Get the current line as a StringRef.

Definition at line 70 of file LineIterator.h.

◆ operator++() [1/2]

line_iterator& llvm::line_iterator::operator++ ( )
inline

Advance to the next (non-empty, non-comment) line.

Definition at line 59 of file LineIterator.h.

◆ operator++() [2/2]

line_iterator llvm::line_iterator::operator++ ( int  )
inline

Definition at line 63 of file LineIterator.h.

◆ operator->()

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

Definition at line 71 of file LineIterator.h.

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 78 of file LineIterator.h.

◆ operator==

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: