SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
SMTRAT_OPB.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "SMTRAT.h"
4 
5 namespace benchmax {
6 
7 /**
8  * Adapts the SMTRAT solver for OPB files.
9  */
10 class SMTRAT_OPB: public SMTRAT {
11 public:
12  /// Adds "-opb" to instruct SMT-RAT to parse .opb files.
13  SMTRAT_OPB(const fs::path& binary, const std::string& arguments): SMTRAT(binary, arguments) {
14  mArguments += " -opb";
15  mName = "SMTRAT-OPB";
16  }
17 
18  /// Only handles .opb files.
19  virtual bool canHandle(const fs::path& path) const override {
20  return is_extension(path, ".opb");
21  }
22 };
23 
24 }
Adapts the SMTRAT solver for OPB files.
Definition: SMTRAT_OPB.h:10
virtual bool canHandle(const fs::path &path) const override
Only handles .opb files.
Definition: SMTRAT_OPB.h:19
SMTRAT_OPB(const fs::path &binary, const std::string &arguments)
Adds "-opb" to instruct SMT-RAT to parse .opb files.
Definition: SMTRAT_OPB.h:13
Tool wrapper for SMT-RAT for SMT-LIB.
Definition: SMTRAT.h:63
std::string mName
(Non-unique) identifier for the tool.
Definition: Tool.h:41
fs::path binary() const
Full path to the binary.
Definition: Tool.h:67
std::string mArguments
Command line arguments that should be passed to the binary.
Definition: Tool.h:45
bool is_extension(const std::filesystem::path &path, const std::string &extension)
Checks whether the extension of the filename is as specified.
Definition: filesystem.h:60