---
name: "MazeBuilder"
section: "3"
platform: "linux"
package: "libcorelinux-dev"
version: "0.4.32-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/MazeBuilder"
---

# MazeBuilder(3)

MazeBuilder implements the Builder pattern.

## NAME

MazeBuilder - MazeBuilder implements the Builder pattern.

## SYNOPSIS

`#include <MazeBuilder.hpp>`

Inherits **corelinux::Builder\< Maze, NameIdentifier \>**.

### Public Member Functions

**MazeBuilder** (MazeBuilderFactoryPtr)\
 *Default contructor.*  **MazeBuilder** (**MazeBuilderCref**)\
 *Copy constructor.*  virtual **~MazeBuilder** (void)\
 *Virtual Destructor.*  bool **operator==** (**MazeBuilderCref** aRef) const \
 *Equality operator.*

### Protected Member Functions

**MazeBuilder** (void)  throw ( corelinux::Assertion  )\
 *Default constructor.*  **MazeBuilderRef** **operator=** (**MazeBuilderCref**)  throw ( corelinux::Assertion  )\
 *Assignment operator.*  virtual SideMapCref **getSideMap** (void) const \
 *Base method to associate doors to rooms.*  virtual void **constructSideMap** (void)\
 *Base method to construct layout template.*  virtual void **createRooms** (**MazePtr**) const \
 *Our method for construction of* **Room** *parts.*  virtual void **connectRoomsWithDoors** (**MazePtr**) const \
 *Our method for constructing and connecting doors to rooms.*  virtual void **disconnectAndDestroyDoors** (**MazePtr**) const \
 *Our method for destroying all doors.*  virtual **MazePtr** **createProduct** (void) const \
 *Pure virtual createProduct.*  virtual void **destroyProduct** (**MazePtr**) const \
 *Pure virtual destroyProduct.*

## Detailed Description

MazeBuilder implements the Builder pattern.

It constructs a simple maze by utilizing the MazeBuilderFactory for the various parts: Rooms, Doors, and Walls.

It lets the default 'create' of Builder to be exposed because the work is really done in the createProduct implementation here

## Author

Generated automatically by Doxygen for CoreLinux++ from the source code.
