diff options
-rw-r--r-- | compat/assert.hpp | 3 | ||||
-rw-r--r-- | src/chunk.hpp | 2 | ||||
-rw-r--r-- | src/local-coords.hpp | 8 |
3 files changed, 8 insertions, 5 deletions
diff --git a/compat/assert.hpp b/compat/assert.hpp index c2307a0c..6eba9e41 100644 --- a/compat/assert.hpp +++ b/compat/assert.hpp @@ -21,7 +21,8 @@ constexpr void emit_debug(const char(&pfx)[M], const char(&fmt)[N], Xs... xs) no } template<std::size_t N, typename...Xs> -constexpr inline void abort(const char (&fmt)[N], Xs... xs) noexcept // NOLINT(bugprone-exception-escape) +[[noreturn]] +constexpr inline void abort(const char (&fmt)[N], Xs... xs) noexcept { if (std::is_constant_evaluated()) throw "aborting"; 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); |