libgsjj  1
Deterministic finite automata learning library
Classes | Namespaces | Functions
MethodFactory.h File Reference
#include <memory>
#include <string>
#include <map>
#include <functional>
#include "gsjj/passive/Method.h"
Include dependency graph for MethodFactory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gsjj::passive::MethodFactory
 The Factory Builder design pattern adapted to our methods. More...
 
class  gsjj::passive::RegisterInFactory< T >
 Helps to register a method in the factory. More...
 

Namespaces

 gsjj
 The namespace of the library.
 
 gsjj::passive
 Defines the passive methods for automatically learning deterministic finite automata.
 

Functions

std::unique_ptr< Method > gsjj::passive::constructMethod (const std::string &name, unsigned int n, const std::set< std::string > &Sp, const std::set< std::string > &Sm)
 Computes the alphabet and the prefixes set from Sp and Sm and constructs a method for a fixed number of states. More...
 
std::unique_ptr< Method > gsjj::passive::constructMethod (const std::string &name, unsigned int n, const std::set< std::string > &Sp, const std::set< std::string > &Sm, const std::set< std::string > &S, const std::set< std::string > &prefixes, const std::set< char > &alphabet)
 Constructs a method for a fixed number of states. More...
 
std::pair< std::unique_ptr< Method >, bool > gsjj::passive::constructMethod (const std::string &name, const std::set< std::string > &Sp, const std::set< std::string > &Sm, const std::chrono::seconds &timeLimit=std::chrono::seconds(0), long double *timeTaken=nullptr)
 Computes the alphabet and the prefixes set from Sp and Sm and constructs a method with the smallest possible number of states. More...
 
std::pair< std::unique_ptr< Method >, bool > gsjj::passive::constructMethod (const std::string &name, const std::set< std::string > &Sp, const std::set< std::string > &Sm, const std::set< std::string > &S, const std::set< std::string > &prefixes, const std::set< char > &alphabet, const std::chrono::seconds &timeLimit=std::chrono::seconds(0), long double *timeTaken=nullptr)
 Constructs a method with the smallest possible number of states. More...