diff options
Diffstat (limited to 'src/tile-iterator.cpp')
-rw-r--r-- | src/tile-iterator.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/tile-iterator.cpp b/src/tile-iterator.cpp index b454576a..943bbaf8 100644 --- a/src/tile-iterator.cpp +++ b/src/tile-iterator.cpp @@ -3,15 +3,17 @@ namespace floormat { -basic_tile_iterator::basic_tile_iterator(chunk& c, std::size_t pos) noexcept : - c{&c}, pos{pos} -{ -} +tile_iterator::tile_iterator(chunk& c, std::size_t pos) noexcept : c{&c}, pos{pos} {} +tile_iterator::tile_iterator(const tile_iterator&) noexcept = default; +tile_iterator& tile_iterator::operator=(const tile_iterator&) noexcept = default; -basic_tile_iterator::basic_tile_iterator(const basic_tile_iterator&) noexcept = default; -basic_tile_iterator& basic_tile_iterator::operator=(const basic_tile_iterator&) noexcept = default; -std::strong_ordering basic_tile_iterator::operator<=>(const basic_tile_iterator&) const noexcept = default; -void basic_tile_iterator::swap(basic_tile_iterator& other) { std::swap(c, other.c); std::swap(pos, other.pos); } +tile_iterator& tile_iterator::operator++() noexcept { pos++; return *this; } +tile_iterator tile_iterator::operator++() noexcept { auto it = *this; pos++; return it; } +void tile_iterator::swap(tile_iterator& other) noexcept { std::swap(c, other.c); std::swap(pos, other.pos); } +std::strong_ordering tile_iterator::operator<=>(const tile_iterator&) const noexcept = default; + +tile_iterator_tuple tile_iterator::operator->() { return { tile_ref{*c, i}, i, local_coords{i} }; } +tile_iterator_tuple tile_iterator::operator*() { return { tile_ref{*c, i}, i, local_coords{i} }; } } // namespace floormat |