21 using pqmap = std::unordered_map<std::pair<int, int>, std::tuple<int, int, int, int>,
pair_hash>;
23 explicit maze(
unsigned int rows,
unsigned int columns,
unsigned int levels = 1);
24 explicit maze(std::unique_ptr<grid_interface>&& g);
27 unsigned int get_rows()
const noexcept;
28 unsigned int get_columns()
const noexcept;
29 unsigned int get_levels()
const noexcept;
30 bool has_distances()
const noexcept;
31 int get_block_id()
const noexcept;
33 std::optional<std::tuple<int, int, int, int>> find_block(
int x,
int z)
const noexcept;
35 void intopq(
int x,
int y,
int z,
int w)
noexcept;
37 const std::unique_ptr<grid_interface>& get_grid()
const noexcept;
44 std::unique_ptr<grid_interface> my_grid;