summaryrefslogtreecommitdiffhomepage
path: root/src/path-search.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/path-search.hpp')
-rw-r--r--src/path-search.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/path-search.hpp b/src/path-search.hpp
index b37afa34..b6c3f38c 100644
--- a/src/path-search.hpp
+++ b/src/path-search.hpp
@@ -72,6 +72,21 @@ class astar
bool operator==(const edge& other) const;
};
+ class box
+ {
+ std::vector<visited>& vec; // NOLINT
+ uint32_t id;
+
+ public:
+ fm_DECLARE_DELETED_COPY_ASSIGNMENT(box);
+ fm_DECLARE_DELETED_MOVE_ASSIGNMENT(box);
+
+ visited& operator*() { return vec[id]; }
+ visited* operator->() { return &vec[id]; }
+
+ box(std::vector<visited>& vec, uint32_t id) : vec{vec}, id{id} {}
+ };
+
enum class edge_status : uint8_t
{
// good, bad, I'm the man with the gun.