diff options
Diffstat (limited to 'src/engine/graphics/string_matrix.cpp')
| -rw-r--r-- | src/engine/graphics/string_matrix.cpp | 140 | 
1 files changed, 0 insertions, 140 deletions
| diff --git a/src/engine/graphics/string_matrix.cpp b/src/engine/graphics/string_matrix.cpp deleted file mode 100644 index 3920b8e..0000000 --- a/src/engine/graphics/string_matrix.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include "string_matrix.hpp" - -#include <iostream> -#include <ranges> - -StringMatrix::StringMatrix(const Bounds &bounds) noexcept -	: _matrix(new std::string_view *[bounds.get_height()]), -	  _row_cnt(bounds.get_height()), -	  _column_cnt(bounds.get_width()) -{ -	for (gsl::owner<std::string_view **> row = _matrix; row != _matrix + _row_cnt; row++) -	{ -		*row = static_cast<gsl::owner<std::string_view *>>( -			new std::string_view[bounds.get_width()]); -	} -}; - -StringMatrix::StringMatrix(const StringMatrix &string_matrix) noexcept -	: _matrix(new std::string_view *[string_matrix._row_cnt]), -	  _row_cnt(string_matrix._row_cnt), -	  _column_cnt(string_matrix._column_cnt) -{ -	_copy_matrix_from(string_matrix); -} - -StringMatrix::StringMatrix(StringMatrix &&string_matrix) noexcept -	: _matrix(string_matrix._matrix), -	  _row_cnt(string_matrix._row_cnt), -	  _column_cnt(string_matrix._column_cnt) -{ -	string_matrix._matrix = nullptr; -} - -StringMatrix::~StringMatrix() noexcept -{ -	_delete_matrix(); -} - -void StringMatrix::fill(std::string_view element) noexcept -{ -	for (auto row : *this) -	{ -		for (auto &col : row) -		{ -			col = element; -		} -	} -} - -std::string_view StringMatrix::get(const Vector2 &pos) const noexcept -{ - -	auto x = static_cast<std::size_t>(pos.get_x()); -	auto y = static_cast<std::size_t>(pos.get_y()); - -	// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) -	return _matrix[y][x]; -} - -void StringMatrix::set(const Vector2 &pos, std::string_view element) noexcept -{ -	auto x = static_cast<std::size_t>(pos.get_x()); -	auto y = static_cast<std::size_t>(pos.get_y()); - -	// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) -	_matrix[y][x] = element; -} - -uint32_t StringMatrix::get_row_cnt() const noexcept -{ -	return _row_cnt; -} - -uint32_t StringMatrix::get_column_cnt() const noexcept -{ -	return _column_cnt; -} - -MatrixIterator<std::string_view> StringMatrix::begin() const noexcept -{ -	return MatrixIterator(_matrix, _column_cnt); -} - -MatrixIterator<std::string_view> StringMatrix::end() const noexcept -{ -	return MatrixIterator(_matrix + _row_cnt, _column_cnt); -} - -StringMatrix &StringMatrix::operator=(const StringMatrix &rhs) noexcept -{ -	if (&rhs != this) -	{ -		_delete_matrix(); -		_matrix = nullptr; - -		_matrix = new std::string_view *[rhs._row_cnt]; -		_copy_matrix_from(rhs); -	} - -	return *this; -} - -StringMatrix &StringMatrix::operator=(StringMatrix &&rhs) noexcept -{ -	if (&rhs != this) -	{ -		_delete_matrix(); -		_matrix = rhs._matrix; -		rhs._matrix = nullptr; -	} - -	return *this; -} - -void StringMatrix::_delete_matrix() noexcept -{ -	for (gsl::owner<std::string_view **> row = _matrix; row != _matrix + _row_cnt; row++) -	{ -		delete[](*row); -	} - -	delete[] _matrix; -} - -void StringMatrix::_copy_matrix_from(const StringMatrix &source) noexcept -{ -	gsl::owner<std::string_view **> source_row = source._matrix; - -	for (gsl::owner<std::string_view **> row = _matrix; row != _matrix + _row_cnt; -		 row++, source_row++) -	{ -		*row = static_cast<gsl::owner<std::string_view *>>( -			new std::string_view[_column_cnt]); - -		// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) -		auto *end = *source_row + _column_cnt; - -		std::copy(*source_row, end, *row); -	} -} | 
