#include <Algorithm.h>
Factory to create an algorithm. 
Definition at line 270 of file Algorithm.h.
|  | 
| static algo_t | Create (std::string const &algo_name) noexcept(false) | 
| static std::optional< std::vector< std::string > > | GetCreatedBanks (std::string const &algo_name) noexcept(false) | 
| static std::optional< std::vector< std::string > > | GetCreatorAlgorithms (std::string const &bank_name) noexcept | 
| static bool | Register (std::string const &algo_name, algo_creator_t creator, std::vector< std::string > const new_banks={}) noexcept | 
◆ algo_creator_t
◆ Create()
  
  | 
        
          | algo_t iguana::AlgorithmFactory::Create | ( | std::string const & | algo_name | ) |  |  | static | 
 
Create an algorithm. Throws an exception if the algorithm cannot be created 
- Parameters
- 
  
  
- Returns
- the algorithm instance 
 
 
◆ GetCreatedBanks()
  
  | 
        
          | std::optional< std::vector< std::string > > iguana::AlgorithmFactory::GetCreatedBanks | ( | std::string const & | algo_name | ) |  |  | static | 
 
Get list of banks which are created by a particular creator-type algorithm 
- Parameters
- 
  
    | algo_name | the algorithm name |  
 
- Returns
- the list of banks which are created by the algorithm, if any 
 
 
◆ GetCreatorAlgorithms()
  
  | 
        
          | std::optional< std::vector< std::string > > iguana::AlgorithmFactory::GetCreatorAlgorithms | ( | std::string const & | bank_name | ) |  |  | staticnoexcept | 
 
Get list of creator-type algorithms which create a particular bank 
- Parameters
- 
  
  
- Returns
- the list of algorithms which create the bank, if any 
 
 
◆ Register()
  
  | 
        
          | bool iguana::AlgorithmFactory::Register | ( | std::string const & | algo_name, |  
          |  |  | algo_creator_t | creator, |  
          |  |  | std::vector< std::string > const | new_banks = {} ) |  | staticnoexcept | 
 
Register an algorithm with a unique name. Algorithms register themselves by calling this function. 
- Parameters
- 
  
    | algo_name | the name of the algorithm (not equivalent to Object::m_name) |  | creator | the creator function |  | new_banks | if this algorithm creates new banks, list them here |  
 
- Returns
- true if the algorithm has not yet been registered 
 
 
The documentation for this class was generated from the following file:
- /__w/iguana/iguana/iguana_src/src/iguana/algorithms/Algorithm.h