40 std::shared_ptr<cell>
search(
int index)
const noexcept override;
Cell class with links to other cells.
Definition cell.h:19
General purpose grid class for 2D maze generation.
Definition grid.h:25
2D boolean mask for controlling which cells are available in maze generation
Definition mask.h:19
A grid that restricts cell availability based on a boolean mask.
Definition masked_grid.h:22
int num_cells() const noexcept override
Return the number of available (unmasked) cells.
masked_grid(mask m)
Construct a masked grid from a mask object.
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:15