diff options
Diffstat (limited to 'src/game/RLE_reader.hpp')
-rw-r--r-- | src/game/RLE_reader.hpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/game/RLE_reader.hpp b/src/game/RLE_reader.hpp new file mode 100644 index 0000000..797575e --- /dev/null +++ b/src/game/RLE_reader.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include "interfaces/RLE_reader.hpp" +#include "interfaces/matrix.hpp" + +#include <yacppdic/auto_wirable.hpp> + +#include <filesystem> +#include <memory> + +class RLEReader + : public IRLEReader, + public yacppdic:: + AutoWirable<IRLEReader, RLEReader, IMatrixFactory<IRLEReader::MatrixElement>> +{ +public: + explicit RLEReader(const IMatrixFactory<MatrixElement> &matrix_factory) noexcept; + + [[nodiscard]] auto read_RLE_file(const std::filesystem::path &path) const + -> std::unique_ptr<IMatrix<MatrixElement>> override; + +private: + IMatrixFactory<MatrixElement> _matrix_factory; +}; |