aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/RLE_reader.hpp
blob: a3266a8d1d8fad15573d957156c2e088d657403f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include "interfaces/matrix.hpp"

#include <filesystem>
#include <memory>

// NOLINTNEXTLINE(cppcoreguidelines-special-member-functions)
class IRLEReader
{
public:
	virtual ~IRLEReader() noexcept = default;

	using MatrixElement = char;

	[[nodiscard]] virtual auto read_RLE_file(const std::filesystem::path &path) const
		-> std::unique_ptr<IMatrix<MatrixElement>> = 0;
};