delpi
0.0.1
DElta-complete LP solver
Toggle main menu visibility
Loading...
Searching...
No Matches
LineScanner.cpp
Go to the documentation of this file.
1
8
#include "
delpi/parser/LineScanner.h
"
9
10
#include "
delpi/parser/MappedFileSource.h
"
11
#include "delpi/util/logging.h"
12
13
namespace
delpi
{
14
15
bool
LineScanner::ParseFile
(
const
std::string &filename) {
16
try
{
17
filename_
= filename;
18
MappedFileSource
src(filename.c_str());
19
ParseLines
(src);
20
}
catch
(
const
boost::interprocess::interprocess_exception &e) {
21
DELPI_ERROR_FMT(
"Error reading file '{}': {}"
, filename, e.what());
22
return
false
;
23
}
24
return
true
;
25
}
26
27
bool
LineScanner::ParseString
(
const
std::string_view input) {
28
BufferLineSource
src{input};
29
ParseLines
(src);
30
return
true
;
31
}
32
33
}
// namespace delpi
LineScanner.h
MappedFileSource.h
delpi::BufferLineSource
A class that provides a source for lines of text buffered in memory.
Definition
BufferLineSource.h:25
delpi::LineScanner::ParseFile
bool ParseFile(const std::string &filename)
Parse an MPS file from disk.
Definition
LineScanner.cpp:15
delpi::LineScanner::ParseLines
virtual bool ParseLines(BufferLineSource &src)=0
Parse all lines from a line-oriented source.
delpi::LineScanner::ParseString
bool ParseString(std::string_view input)
Parse an MPS file from an in-memory string.
Definition
LineScanner.cpp:27
delpi::LineScanner::filename_
std::string filename_
Name of the file being parsed, used for error reporting.
Definition
LineScanner.h:49
delpi::MappedFileSource
A memory-mapped file source for efficiently reading files line by line.
Definition
MappedFileSource.h:23
delpi
Global namespace for the delpi library.
delpi
parser
LineScanner.cpp
Generated by
1.17.0