blob: 5493804113103a08c302fc4cedc818526c9bd07f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#pragma once
#include <filesystem>
#include <optional>
#include <string_view>
#include <vector>
#include <openvic-dataloader/ParseError.hpp>
#include <openvic-dataloader/ParseWarning.hpp>
#include <openvic-dataloader/detail/Concepts.hpp>
namespace ovdl::detail {
class BasicParser {
public:
BasicParser();
void set_error_log_to_null();
void set_error_log_to_stderr();
void set_error_log_to_stdout();
void set_error_log_to(std::basic_ostream<char>& stream);
bool has_error() const;
bool has_fatal_error() const;
bool has_warning() const;
const std::vector<ParseError>& get_errors() const;
const std::vector<ParseWarning>& get_warnings() const;
protected:
std::vector<ParseError> _errors;
std::vector<ParseWarning> _warnings;
std::reference_wrapper<std::ostream> _error_stream;
const char* _file_path;
bool _has_fatal_error = false;
};
}
|