Line data Source code
1 : #ifndef __DATA_READER_HPP__
2 : #define __DATA_READER_HPP__
3 :
4 : #include <expected>
5 : #include <string>
6 : #include <ios>
7 :
8 : namespace Soldank
9 : {
10 : enum class FileReaderError
11 : {
12 : FileNotFound = 0,
13 : BufferError
14 : };
15 :
16 : class IFileReader
17 : {
18 : public:
19 2 : virtual ~IFileReader() = default;
20 : virtual std::expected<std::string, FileReaderError> Read(
21 : const std::string& file_path,
22 : std::ios_base::openmode mode = std::ios_base::in) const = 0;
23 : };
24 : } // namespace Soldank
25 :
26 : #endif
|