libgsjj  1
Deterministic finite automata learning library
HeuleVerwerNonCNFMethod.h
Go to the documentation of this file.
1 
7 #pragma once
8 
11 
12 namespace gsjj {
13  namespace passive {
14  namespace NonCNF {
18  class HeuleVerwerNonCNFMethod : public SATNonCNFMethod, public RegisterInFactory<HeuleVerwerNonCNFMethod> {
19  public:
20  HeuleVerwerNonCNFMethod() = delete;
22 
23  static std::string getFactoryName();
24 
25  protected:
26  virtual bool createFormula(std::ostream &stream) override;
27  std::unique_ptr<DFA<char>> toDFA(std::istream &stream) const override;
28  virtual std::string getFileName() const override;
29 
30  HeuleVerwerNonCNFMethod(const std::set<std::string> &SpSet, const std::set<std::string> &SmSet, const std::set<std::string> &SSet, const std::set<std::string> &prefixesSet, const std::set<char> &alphabetSet, unsigned int n);
31  };
32  }
33  }
34 }
The namespace of the library.
Definition: binary.h:11
std::unique_ptr< DFA< char > > toDFA(std::istream &stream) const override
Effectively creates the DFA.
virtual std::string getFileName() const override
Gives the name of the file in which the boolean formula must be written.
virtual bool createFormula(std::ostream &stream) override
Creates the boolean formula (must not be in CNF) and writes it in the stream.
Helps to register a method in the factory.
Definition: MethodFactory.h:84
Base class for every method that relies on a non-CNF SAT solver.