Maze Builder Docs 7.5.6
Loading...
Searching...
No Matches
grid_interface.h
Go to the documentation of this file.
1#ifndef GRID_INTERFACE_H
2#define GRID_INTERFACE_H
3
4#include <cstdint>
5#include <memory>
6#include <string>
7#include <vector>
8
9namespace mazes
10{
11
12 class cell;
13
20 {
21
22 public:
23 virtual ~grid_interface() = default;
24
28 virtual std::string contents_of(std::shared_ptr<cell> const &c) const noexcept = 0;
29
33 virtual std::uint32_t background_color_for(std::shared_ptr<cell> const &c) const noexcept = 0;
34
37 virtual class grid_operations &operations() noexcept = 0;
38
41 virtual const class grid_operations &operations() const noexcept = 0;
42 }; // grid_interface
43
44} // namespace mazes
45
46#endif // GRID_INTERFACE_H
Interface for the grid class.
Definition grid_interface.h:20
virtual std::string contents_of(std::shared_ptr< cell > const &c) const noexcept=0
Get detailed information of a cell in the grid in the form of a string.
virtual class grid_operations & operations() noexcept=0
Get access to grid operations interface.
virtual std::uint32_t background_color_for(std::shared_ptr< cell > const &c) const noexcept=0
Returns the background color for the specified cell, if available.
Interface for grid navigation and manipulation operations.
Definition grid_operations.h:18
Namespace for the maze builder.
Definition algo_interface.h:6