|
| 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.
|
| |
|
|
using | factory_creator_t = std::function<std::unique_ptr<InterfaceType>(const configurator &)> |
| | Type alias for product creation function.
|
| |
◆ clear()
| void mazes::maze_factory::clear |
( |
| ) |
|
|
overridevirtualnoexcept |
◆ 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
-
| key | Unique identifier for the grid type |
| config | Configuration 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 |
◆ is_registered()
| bool mazes::maze_factory::is_registered |
( |
const std::string & | key | ) |
const |
|
overridevirtual |
◆ 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
-
| key | Unique identifier for the grid type |
| creator | Function 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
-
| key | Unique 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: