Maze Builder Docs 6.0.1
Loading...
Searching...
No Matches
binary_tree.h
Go to the documentation of this file.
1#ifndef BINARY_TREE_H
2#define BINARY_TREE_H
3
5
6#include <functional>
7#include <memory>
8#include <random>
9
10namespace mazes {
11
12class grid_interface;
13class cell;
14
19public:
25 bool run(std::unique_ptr<grid_interface> const& g, const std::function<int(int, int)>& get_int, const std::mt19937& rng) const noexcept override;
26private:
32 bool run_on_cell(std::shared_ptr<cell> const& c, const std::function<int(int, int)>& get_int, const std::mt19937& rng) const noexcept;
33};
34}
35#endif // BINARY_TREE_H
Interface for the maze generation algorithms.
Definition algo_interface.h:18
Binary tree algorithm for generating mazes.
Definition binary_tree.h:18
bool run(std::unique_ptr< grid_interface > const &g, const std::function< int(int, int)> &get_int, const std::mt19937 &rng) const noexcept override
Run the binary tree algorithm.
Namespace for the maze builder.
Definition algo_interface.h:9