Skip to content
Snippets Groups Projects
ReadingMachine.hpp 1.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef READING_MACHINE__H
    #define READING_MACHINE__H
    
    
    Franck Dary's avatar
    Franck Dary committed
    #include <filesystem>
    
    Franck Dary's avatar
    Franck Dary committed
    #include "Strategy.hpp"
    
    Franck Dary's avatar
    Franck Dary committed
    #include "Dict.hpp"
    
    Franck Dary's avatar
    Franck Dary committed
      public :
    
    
    Franck Dary's avatar
    Franck Dary committed
      static inline const std::string defaultMachineFilename = "machine.rm";
      static inline const std::string defaultModelFilename = "{}.pt";
      static inline const std::string defaultDictFilename = "{}.dict";
      static inline const std::string defaultDictName = "_default_";
    
    Franck Dary's avatar
    Franck Dary committed
      std::filesystem::path path;
    
    Franck Dary's avatar
    Franck Dary committed
      std::unique_ptr<Strategy> strategy;
    
    Franck Dary's avatar
    Franck Dary committed
      std::map<std::string, Dict> dicts;
    
      std::set<std::string> predicted;
    
    Franck Dary's avatar
    Franck Dary committed
      private :
    
      void readFromFile(std::filesystem::path path);
    
    
    Franck Dary's avatar
    Franck Dary committed
      ReadingMachine(std::filesystem::path path);
    
    Franck Dary's avatar
    Franck Dary committed
      ReadingMachine(std::filesystem::path path, std::vector<std::filesystem::path> models, std::vector<std::filesystem::path> dicts);
    
      TransitionSet & getTransitionSet();
      Strategy & getStrategy();
    
    Franck Dary's avatar
    Franck Dary committed
      Dict & getDict(const std::string & state);
      Classifier * getClassifier();
    
      void save() const;
      bool isPredicted(const std::string & columnName) const;
    
      const std::set<std::string> & getPredicted() const;