29 unsigned int width = 1u,
30 unsigned int length = 1u,
31 unsigned int height = 1u
48 [[nodiscard]] std::
size_t num_cells() const noexcept override;
53 std::shared_ptr<
cell>
search(
int index) const noexcept override;
Cell class with links to other cells.
Definition cell.h:18
grid(unsigned int rows=1u, unsigned int columns=1u, unsigned int levels=1u)
Construct a grid using unsigned integers.
2D boolean mask for controlling which cells are available in maze generation
Definition mask.h:20
std::size_t num_cells() const noexcept override
Get the number of available cells in the masked grid.
masked_grid(unsigned int width=1u, unsigned int length=1u, unsigned int height=1u)
Constructs a masked grid with specified dimensions.
masked_grid(mask m)
Constructs a masked grid sized to the given mask.
std::shared_ptr< cell > search(int index) const noexcept override
Search for a cell by index, respecting the mask.
std::shared_ptr< cell > random_cell(randomizer &rng) const noexcept
Return a random available cell based on the mask.
const mask & get_mask() const noexcept
Access the mask used by this grid.
Provides random-number generating capabilities.
Definition randomizer.h:16