summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-10-16 23:08:32 +0200
committerStanislaw Halik <sthalik@misaki.pl>2023-10-16 23:08:32 +0200
commita4a9c191018ad225d36665eaf33f9dbff27514c4 (patch)
tree08e4d40ebd9e84a1f7bf57a5182c659813b08bcc
parent73a15aa007307cd52432dc521364935641c15703 (diff)
a
-rw-r--r--src/path-search-result.cpp11
-rw-r--r--src/path-search-result.hpp16
2 files changed, 14 insertions, 13 deletions
diff --git a/src/path-search-result.cpp b/src/path-search-result.cpp
index 26fcd98d..995ad710 100644
--- a/src/path-search-result.cpp
+++ b/src/path-search-result.cpp
@@ -1,5 +1,6 @@
#include "path-search.hpp"
#include "path-search-result.hpp"
+#include "src/point.hpp"
#include "compat/assert.hpp"
#include <Corrade/Containers/ArrayView.h>
#include <utility>
@@ -54,22 +55,22 @@ path_search_result& path_search_result::operator=(const path_search_result& x) n
path_search_result::node::node() noexcept = default;
size_t path_search_result::size() const { return _node->vec.size(); }
-auto path_search_result::data() const -> const pair* { return _node->vec.data(); }
+auto path_search_result::data() const -> const point* { return _node->vec.data(); }
path_search_result::operator bool() const { return !_node->vec.empty(); }
-path_search_result::operator ArrayView<const path_search_result::pair>() const
+path_search_result::operator ArrayView<const point>() const
{
fm_debug_assert(_node);
return {_node->vec.data(), _node->vec.size()};
}
-auto path_search_result::operator[](size_t index) const -> const pair&
+const point& path_search_result::operator[](size_t index) const
{
fm_debug_assert(_node);
fm_debug_assert(index < _node->vec.size());
return data()[index];
}
-auto path_search_result::path() -> std::vector<pair>& { fm_assert(_node); return _node->vec; }
-auto path_search_result::path() const -> const std::vector<pair>& { fm_assert(_node); return _node->vec; }
+auto path_search_result::path() -> std::vector<point>& { fm_assert(_node); return _node->vec; }
+auto path_search_result::path() const -> const std::vector<point>& { fm_assert(_node); return _node->vec; }
} // namespace floormat
diff --git a/src/path-search-result.hpp b/src/path-search-result.hpp
index 92484c63..ee3d017d 100644
--- a/src/path-search-result.hpp
+++ b/src/path-search-result.hpp
@@ -6,19 +6,19 @@
namespace floormat {
+struct point;
+
struct path_search_result final
{
friend struct test_app;
- struct pair { global_coords pos; Vector2 offset; };
-
- const pair* data() const;
- const pair& operator[](size_t index) const;
+ const point* data() const;
+ const point& operator[](size_t index) const;
size_t size() const;
- std::vector<pair>& path();
- const std::vector<pair>& path() const;
- explicit operator ArrayView<const pair>() const;
+ std::vector<point>& path();
+ const std::vector<point>& path() const;
+ explicit operator ArrayView<const point>() const;
explicit operator bool() const;
fm_DECLARE_DEFAULT_MOVE_ASSIGNMENT_(path_search_result);
@@ -39,7 +39,7 @@ private:
fm_DECLARE_DELETED_COPY_ASSIGNMENT(node);
fm_DECLARE_DEFAULT_MOVE_ASSIGNMENT_(node);
- std::vector<pair> vec;
+ std::vector<point> vec;
private:
std::unique_ptr<node> _next;