Maze Builder Docs 6.7.5
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
11class cell;
12
19
20public:
21 virtual ~grid_interface() = default;
22
26 virtual std::string contents_of(std::shared_ptr<cell> const& c) const noexcept = 0;
27
31 virtual std::uint32_t background_color_for(std::shared_ptr<cell> const& c) const noexcept = 0;
32
35 virtual class grid_operations& operations() noexcept = 0;
36
39 virtual const class grid_operations& operations() const noexcept = 0;
40}; // grid_interface
41
42} // namespace mazes
43
44#endif // GRID_INTERFACE_H
Interface for the grid class.
Definition grid_interface.h:18
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:16
Namespace for the maze builder.
Definition algo_interface.h:9