diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/chunk.hpp | 2 | ||||
-rw-r--r-- | src/local-coords.hpp | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/chunk.hpp b/src/chunk.hpp index debb5983..7ce54212 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -27,6 +27,8 @@ struct chunk final constexpr iterator begin() { return iterator{_tiles.data(), 0}; } constexpr iterator end() { return iterator{_tiles.data(), _tiles.size()}; } + constexpr const_iterator begin() const { return const_iterator{_tiles.data(), 0}; } + constexpr const_iterator end() const { return const_iterator{_tiles.data(), _tiles.size()}; } constexpr const_iterator cbegin() const { return const_iterator{_tiles.data(), 0}; } constexpr const_iterator cend() { return const_iterator{_tiles.data(), _tiles.size()}; } diff --git a/src/local-coords.hpp b/src/local-coords.hpp index b63f3db8..0d62103c 100644 --- a/src/local-coords.hpp +++ b/src/local-coords.hpp @@ -9,21 +9,21 @@ namespace Magnum::Examples { struct local_coords final { std::uint8_t x = 0, y = 0; - explicit constexpr local_coords(std::size_t idx) noexcept; // NOLINT(bugprone-exception-escape) + explicit constexpr local_coords(std::size_t idx) noexcept; constexpr local_coords() noexcept = default; - constexpr local_coords(std::size_t x, std::size_t y) noexcept; // NOLINT(bugprone-exception-escape) + constexpr local_coords(std::size_t x, std::size_t y) noexcept; constexpr local_coords(std::uint8_t x, std::uint8_t y) noexcept : x{x}, y{y} {} constexpr std::size_t to_index() const noexcept { return y*TILE_MAX_DIM + x; } }; -constexpr local_coords::local_coords(std::size_t index) noexcept : // NOLINT(bugprone-exception-escape) +constexpr local_coords::local_coords(std::size_t index) noexcept : x{(std::uint8_t)(index % TILE_MAX_DIM)}, y{(std::uint8_t)(index / TILE_MAX_DIM)} { ASSERT(index < TILE_COUNT); } -constexpr local_coords::local_coords(std::size_t x, std::size_t y) noexcept // NOLINT(bugprone-exception-escape) +constexpr local_coords::local_coords(std::size_t x, std::size_t y) noexcept : x{(std::uint8_t)x}, y{(std::uint8_t)y} { ASSERT(x <= 0xff && y <= 0xff); |