aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2024-01-22 22:04:25 +0100
committer GitHub <noreply@github.com>2024-01-22 22:04:25 +0100
commit4f4a053dff51fe28e473ac8b3528a95dc6e5dec6 (patch)
treeb22e63b6e247179df4069df8a0f902ed40a3471e /include
parent59ec8275b584d4a48f7836816114d4933c655799 (diff)
parentafbd8024110aaa80a7b94cff9a9d96e763b13916 (diff)
Merge pull request #36 from OpenVicProject/fix/file-path-memory
Fixed BasicParser::_file_path relying on externally controlled memory
Diffstat (limited to 'include')
-rw-r--r--include/openvic-dataloader/csv/LineObject.hpp2
-rw-r--r--include/openvic-dataloader/detail/BasicParser.hpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/include/openvic-dataloader/csv/LineObject.hpp b/include/openvic-dataloader/csv/LineObject.hpp
index 6366c71..87b4d31 100644
--- a/include/openvic-dataloader/csv/LineObject.hpp
+++ b/include/openvic-dataloader/csv/LineObject.hpp
@@ -88,7 +88,7 @@ namespace ovdl::csv {
};
inline std::ostream& operator<<(std::ostream& stream, const LineObject& line) {
- static const char SEP = ';';
+ static constexpr char SEP = ';';
LineObject::position_type sep_index = 0;
for (const auto& [pos, val] : line) {
while (sep_index < pos) {
diff --git a/include/openvic-dataloader/detail/BasicParser.hpp b/include/openvic-dataloader/detail/BasicParser.hpp
index 1e2fd14..7524bb5 100644
--- a/include/openvic-dataloader/detail/BasicParser.hpp
+++ b/include/openvic-dataloader/detail/BasicParser.hpp
@@ -1,5 +1,7 @@
#pragma once
+#include <string>
+#include <string_view>
#include <vector>
#include <openvic-dataloader/ParseError.hpp>
@@ -22,13 +24,14 @@ namespace ovdl::detail {
const std::vector<ParseError>& get_errors() const;
const std::vector<ParseWarning>& get_warnings() const;
+ std::string_view get_file_path() const;
protected:
std::vector<ParseError> _errors;
std::vector<ParseWarning> _warnings;
std::reference_wrapper<std::ostream> _error_stream;
- const char* _file_path;
+ std::string _file_path;
bool _has_fatal_error = false;
};
} \ No newline at end of file