Maze Builder Docs 7.5.6
Loading...
Searching...
No Matches
lab.h
Go to the documentation of this file.
1#ifndef LAB_H
2#define LAB_H
3
4#include <memory>
5#include <vector>
6
8namespace mazes
9{
10
11 class cell;
12 class configurator;
13
18 class lab
19 {
20
21 public:
26 static void link(const std::shared_ptr<cell> &c1, const std::shared_ptr<cell> &c2, bool bidi = true) noexcept;
27
32 static void unlink(const std::shared_ptr<cell> &c1, const std::shared_ptr<cell> &c2, bool bidi = true) noexcept;
33
39 static void set_neighbors(configurator const &config, const std::vector<int> &indices, std::vector<std::shared_ptr<cell>> &cells_to_set) noexcept;
40
41 private:
42 }; // class lab
43
44}
45
46#endif // LAB_H
Cell class with links to other cells.
Definition cell.h:19
Configuration class for arguments.
Definition configurator.h:23
Provides link operations.
Definition lab.h:19
static void link(const std::shared_ptr< cell > &c1, const std::shared_ptr< cell > &c2, bool bidi=true) noexcept
Links two cell objects, optionally in both directions.
static void set_neighbors(configurator const &config, const std::vector< int > &indices, std::vector< std::shared_ptr< cell > > &cells_to_set) noexcept
Sets neighbors for a collection of cells based on the provided indices.
static void unlink(const std::shared_ptr< cell > &c1, const std::shared_ptr< cell > &c2, bool bidi=true) noexcept
Unlinks two cell objects, optionally in both directions.
Namespace for the maze builder.
Definition algo_interface.h:6