BasicParser now uses string_view
This commit is contained in:
@@ -35,8 +35,8 @@ const std::string& langs::Lang::getId() const {
|
||||
return locale;
|
||||
}
|
||||
|
||||
/* Language key-value txt files parser */
|
||||
class Reader : public BasicParser {
|
||||
// @brief Language key-value txt files parser
|
||||
class Reader : BasicParser {
|
||||
void skipWhitespace() override {
|
||||
BasicParser::skipWhitespace();
|
||||
if (hasNext() && source[pos] == '#') {
|
||||
@@ -47,7 +47,7 @@ class Reader : public BasicParser {
|
||||
}
|
||||
}
|
||||
public:
|
||||
Reader(const std::string& file, const std::string& source) : BasicParser(file, source) {
|
||||
Reader(std::string_view file, std::string_view source) : BasicParser(file, source) {
|
||||
}
|
||||
|
||||
void read(langs::Lang& lang, std::string prefix) {
|
||||
|
||||
@@ -46,11 +46,12 @@ gui::page_loader_func menus::create_page_loader(Engine* engine) {
|
||||
name = query.substr(0, index);
|
||||
|
||||
auto map = std::make_shared<Map>();
|
||||
BasicParser parser("query for "+name, argstr);
|
||||
auto filename = "query for "+name;
|
||||
BasicParser parser(filename, argstr);
|
||||
while (parser.hasNext()) {
|
||||
auto key = parser.readUntil('=');
|
||||
auto key = std::string(parser.readUntil('='));
|
||||
parser.nextChar();
|
||||
auto value = parser.readUntil('&');
|
||||
auto value = std::string(parser.readUntil('&'));
|
||||
map->put(key, value);
|
||||
}
|
||||
args.push_back(map);
|
||||
|
||||
Reference in New Issue
Block a user