Maze Builder Docs 6.7.5
Loading...
Searching...
No Matches
algo_interface.h
Go to the documentation of this file.
1#ifndef ALGO_INTERFACE_H
2#define ALGO_INTERFACE_H
3
4#include <functional>
5#include <memory>
6#include <random>
7
9namespace mazes {
10
11class grid_interface;
12class randomizer;
13
19
20public:
25 virtual bool run(std::unique_ptr<grid_interface> const& g, randomizer& rng) const noexcept = 0;
26
27 virtual ~algo_interface() = default;
28};
29}
30#endif // ALGO_INTERFACE_H
Interface for runnable algorithms.
Definition algo_interface.h:18
virtual bool run(std::unique_ptr< grid_interface > const &g, randomizer &rng) const noexcept=0
Interface method that algorithms must implement.
Interface for the grid class.
Definition grid_interface.h:18
Provides random-number generating capabilities.
Definition randomizer.h:15
Namespace for the maze builder.
Definition algo_interface.h:9