A class for parsing text files, returning each non-empty and non-comment line, along its line number.
Lines are strip out of leading and trailing whitespaces. By default, lines starting with either "#", "//" or "%" are skipped (comment lines), unless this behavior is explicitly disabled with enableCommentFilters
Definition at line 26 of file CTextFileLinesParser.h.
#include <mrpt/utils/CTextFileLinesParser.h>
Public Member Functions | |
CTextFileLinesParser () | |
Default constructor; should call open() at some moment later. More... | |
CTextFileLinesParser (const std::string &fil) | |
Constructor for opening a file. More... | |
void | open (const std::string &fil) |
Open a file (an alternative to the constructor with a file name) More... | |
void | close () |
Close the file (no need to call it normally, the file is closed upon destruction) More... | |
void | rewind () |
Reset the read pointer to the beginning of the file. More... | |
bool | getNextLine (std::string &out_str) |
Reads from the file and return the next (non-comment) line, as a std::string. More... | |
bool | getNextLine (std::istringstream &buf) |
Reads from the file and stores the next (non-comment) line into the given stream buffer. More... | |
size_t | getCurrentLineNumber () const |
Return the line number of the last line returned with getNextLine. More... | |
void | enableCommentFilters (bool filter_MATLAB_comments, bool filter_C_comments, bool filter_SH_comments) |
Enable/disable filtering of lines starting with "%", "//" or "#", respectively. More... | |
Private Attributes | |
std::string | m_fileName |
std::ifstream | m_in |
size_t | m_curLineNum |
bool | m_filter_MATLAB_comments |
bool | m_filter_C_comments |
bool | m_filter_SH_comments |
|
inline |
Default constructor; should call open() at some moment later.
Definition at line 30 of file CTextFileLinesParser.h.
|
inline |
Constructor for opening a file.
std::exception | On error opening file |
Definition at line 33 of file CTextFileLinesParser.h.
|
inline |
Close the file (no need to call it normally, the file is closed upon destruction)
Definition at line 50 of file CTextFileLinesParser.h.
|
inline |
Enable/disable filtering of lines starting with "%", "//" or "#", respectively.
Definition at line 107 of file CTextFileLinesParser.h.
|
inline |
Return the line number of the last line returned with getNextLine.
Definition at line 104 of file CTextFileLinesParser.h.
Referenced by mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file().
|
inline |
Reads from the file and return the next (non-comment) line, as a std::string.
Definition at line 63 of file CTextFileLinesParser.h.
Referenced by mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file().
|
inline |
Reads from the file and stores the next (non-comment) line into the given stream buffer.
Definition at line 81 of file CTextFileLinesParser.h.
References mrpt::system::strStarts(), and mrpt::system::trim().
|
inline |
Open a file (an alternative to the constructor with a file name)
Definition at line 38 of file CTextFileLinesParser.h.
References THROW_EXCEPTION_FMT.
|
inline |
Reset the read pointer to the beginning of the file.
Definition at line 53 of file CTextFileLinesParser.h.
Referenced by mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file().
|
private |
Definition at line 121 of file CTextFileLinesParser.h.
|
private |
Definition at line 119 of file CTextFileLinesParser.h.
|
private |
Definition at line 123 of file CTextFileLinesParser.h.
|
private |
Definition at line 122 of file CTextFileLinesParser.h.
|
private |
Definition at line 124 of file CTextFileLinesParser.h.
|
private |
Definition at line 120 of file CTextFileLinesParser.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.5 Git: e06b63dbf Fri Dec 1 14:41:11 2017 +0100 at lun oct 28 01:31:35 CET 2019 |