Maze Builder Docs 6.0.1
Loading...
Searching...
No Matches
maze.h
Go to the documentation of this file.
1#ifndef MAZE_H
2#define MAZE_H
3
4#include <string>
5#include <memory>
6
7namespace mazes {
8
9class configurator;
10class grid_interface;
11
15class maze {
16public:
17 explicit maze(std::unique_ptr<grid_interface> g, configurator const& config) noexcept;
18
19 int get_block_id() const noexcept;
20
21 bool has_distances() const noexcept;
22
23 int get_rows() const noexcept;
24 int get_columns() const noexcept;
25 int get_levels() const noexcept;
26
27 const std::unique_ptr<grid_interface>& get_grid() const noexcept;
28
29private:
30 std::unique_ptr<grid_interface> m_grid;
31
32 const configurator& m_config;
33}; // maze struct
34
35} // namespace mazes
36
37#endif // MAZE_H
Configuration class for the maze builder.
Definition configurator.h:14
Data class representing a 2D or 3D maze.
Definition maze.h:15
Namespace for the maze builder.
Definition algo_interface.h:9