summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-03-25 13:25:03 +0100
committerStanislaw Halik <sthalik@misaki.pl>2024-03-25 13:25:03 +0100
commit327989e102b64c5defc6f1e8a79b7b89e1a61cf2 (patch)
tree4adc75d9acfc53323f4a2cab55be0c3788598c4d
parentc31aa37aeb9dbd68cd4dbe53caf25b2a9c2dc30d (diff)
a
-rw-r--r--src/search-result.cpp17
-rw-r--r--src/search-result.hpp5
2 files changed, 3 insertions, 19 deletions
diff --git a/src/search-result.cpp b/src/search-result.cpp
index 4f25065d..2c5b5e53 100644
--- a/src/search-result.cpp
+++ b/src/search-result.cpp
@@ -123,7 +123,7 @@ void path_search_result::set_found(bool value) { _found = value; }
uint32_t path_search_result::distance() const { return _distance; }
void path_search_result::set_distance(uint32_t dist) { _distance = dist; }
bool path_search_result::is_simplified() const { /*fm_assert(!_node->vec.empty());*/ return !_node->vec_.empty(); }
-auto path_search_result::simplified() -> ArrayView<const pair>
+auto path_search_result::simplified_path() -> ArrayView<const pair>
{
if (!_node->vec_.empty())
return { _node->vec_.data(), _node->vec_.size() };
@@ -136,23 +136,10 @@ auto path_search_result::simplified() -> ArrayView<const pair>
}
}
-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 point>() const
-{
- fm_debug_assert(_node);
- return {_node->vec.data(), _node->vec.size()};
-}
-
-const point& path_search_result::operator[](size_t index) const
-{
- fm_debug_assert(_node);
- fm_debug_assert(index < _node->vec.size());
- return data()[index];
-}
-
vector_wrapper<point, vector_wrapper_repr::ref> path_search_result::raw_path() { fm_assert(_node); return {_node->vec}; }
+auto path_search_result::raw_simplified_path() -> vector_wrapper<pair, vector_wrapper_repr::ref> { fm_assert(_node); return {_node->vec_}; }
ArrayView<const point> path_search_result::path() const { fm_assert(_node); return {_node->vec.data(), _node->vec.size()}; }
} // namespace floormat
diff --git a/src/search-result.hpp b/src/search-result.hpp
index 1ca13cf2..d22a6cf5 100644
--- a/src/search-result.hpp
+++ b/src/search-result.hpp
@@ -13,8 +13,6 @@ struct path_search_result final
struct pair;
struct node;
- const point* data() const;
- const point& operator[](size_t index) const;
size_t size() const;
uint32_t cost() const;
void set_cost(uint32_t value);
@@ -25,12 +23,11 @@ struct path_search_result final
uint32_t distance() const;
void set_distance(uint32_t dist);
bool is_simplified() const;
- ArrayView<const pair> simplified();
vector_wrapper<point, vector_wrapper_repr::ref> raw_path();
vector_wrapper<pair, vector_wrapper_repr::ref> raw_simplified_path();
ArrayView<const point> path() const;
- explicit operator ArrayView<const point>() const;
+ ArrayView<const pair> simplified_path();
explicit operator bool() const;
path_search_result();