diff options
Diffstat (limited to 'src/tile-iterator.hpp')
-rw-r--r-- | src/tile-iterator.hpp | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/src/tile-iterator.hpp b/src/tile-iterator.hpp index 91d85cad..2f860380 100644 --- a/src/tile-iterator.hpp +++ b/src/tile-iterator.hpp @@ -1,40 +1,37 @@ #pragma once +#include "compat/integer-types.hpp" #include "local-coords.hpp" #include "tile.hpp" -#include <iterator> -#include <tuple> -#include <utility> -#include <type_traits> +#include <compare> namespace floormat { -struct tile_tuple final { - const tile_tuple* operator->() const noexcept { return this; } - tile_tuple* operator->() noexcept { return this; } +struct tile_iterator_tuple final { // NOLINT(cppcoreguidelines-pro-type-member-init) + const tile_iterator_tuple* operator->() const noexcept { return this; } + tile_iterator_tuple* operator->() noexcept { return this; } tile_ref tile; std::size_t i; local_coords pos; }; -class basic_tile_iterator final { +class tile_iterator final { chunk* c; std::size_t pos; public: - explicit basic_tile_iterator(chunk& c, std::size_t pos) noexcept; - basic_tile_iterator(const basic_tile_iterator&) noexcept; - basic_tile_iterator& operator=(const basic_tile_iterator&) noexcept; + explicit tile_iterator(chunk& c, std::size_t pos) noexcept; + tile_iterator(const tile_iterator&) noexcept; + tile_iterator& operator=(const tile_iterator&) noexcept; - std::strong_ordering operator<=>(const basic_tile_iterator&) const noexcept; - void swap(basic_tile_iterator& other); + std::strong_ordering operator<=>(const tile_iterator&) const noexcept; + void swap(tile_iterator& other) noexcept; - basic_tile_iterator& operator++(); - basic_tile_iterator operator++(int); - tile_tuple operator->(); - tile_tuple operator*(); + tile_iterator& operator++() noexcept; + tile_iterator operator++(int) noexcept; + tile_iterator_tuple operator->() noexcept; + tile_iterator_tuple operator*() noexcept; }; } // namespace floormat - |