Maze Builder Docs 7.5.6
Loading...
Searching...
No Matches
mazes::maze_factory Class Referencefinal
Inheritance diagram for mazes::maze_factory:
[legend]
Collaboration diagram for mazes::maze_factory:
[legend]

Public Member Functions

bool register_creator (const std::string &key, factory_creator_t creator) noexcept override
 Register a grid creator function with a unique identifier.
 
bool unregister_creator (const std::string &key) noexcept override
 Unregister a grid creator function.
 
bool is_registered (const std::string &key) const override
 Check if a creator is registered for the given key.
 
std::optional< std::unique_ptr< maze_interface > > create (const std::string &key, const configurator &config) const noexcept override
 Create a grid using a registered creator.
 
std::vector< std::string > get_registered_keys () const override
 Get all registered creator keys.
 
void clear () noexcept override
 Clear all registered creators.
 
- Public Member Functions inherited from mazes::factory_interface< InterfaceType >

Additional Inherited Members

- Public Types inherited from mazes::factory_interface< InterfaceType >
using factory_creator_t = std::function<std::unique_ptr<InterfaceType>(const configurator &)>
 Type alias for product creation function.
 

Member Function Documentation

◆ clear()

void mazes::maze_factory::clear ( )
overridevirtualnoexcept

Clear all registered creators.

Implements mazes::factory_interface< InterfaceType >.

◆ create()

std::optional< std::unique_ptr< maze_interface > > mazes::maze_factory::create ( const std::string & key,
const configurator & config ) const
overridevirtualnoexcept

Create a grid using a registered creator.

Parameters
keyUnique identifier for the grid type
configConfiguration parameters
Returns
Unique pointer to the created grid, nullptr if key not found or creation failed

Implements mazes::factory_interface< InterfaceType >.

◆ get_registered_keys()

std::vector< std::string > mazes::maze_factory::get_registered_keys ( ) const
overridevirtual

Get all registered creator keys.

Returns
Vector of registered keys

Implements mazes::factory_interface< InterfaceType >.

◆ is_registered()

bool mazes::maze_factory::is_registered ( const std::string & key) const
overridevirtual

Check if a creator is registered for the given key.

Parameters
keyUnique identifier to check
Returns
True if a creator is registered for this key

Implements mazes::factory_interface< InterfaceType >.

◆ register_creator()

bool mazes::maze_factory::register_creator ( const std::string & key,
factory_creator_t creator )
overridevirtualnoexcept

Register a grid creator function with a unique identifier.

Parameters
keyUnique identifier for the grid type
creatorFunction object that creates the grid
Returns
True if registration was successful, false if key already exists

Implements mazes::factory_interface< InterfaceType >.

◆ unregister_creator()

bool mazes::maze_factory::unregister_creator ( const std::string & key)
overridevirtualnoexcept

Unregister a grid creator function.

Parameters
keyUnique identifier for the grid type to remove
Returns
True if unregistration was successful, false if key was not found

Implements mazes::factory_interface< InterfaceType >.


The documentation for this class was generated from the following file: