SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
SettingsComponents.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "SettingsParser.h"
4 
5 #include <carl-common/memory/Singleton.h>
6 
7 #include <functional>
8 #include <vector>
9 
10 namespace smtrat {
11 
12 class SettingsComponents: public carl::Singleton<SettingsComponents> {
13 private:
14  std::vector<std::function<void(SettingsParser&)>> mHooks;
15 public:
16  void add(std::function<void(SettingsParser&)>&& f) {
17  mHooks.emplace_back(f);
18  }
19  void add_to_parser(SettingsParser& parser) const {
20  for (const auto& f: mHooks) {
21  f(parser);
22  }
23  }
24 };
25 
26 } // smtrat
void add_to_parser(SettingsParser &parser) const
std::vector< std::function< void(SettingsParser &)> > mHooks
void add(std::function< void(SettingsParser &)> &&f)
Class to create the formulas for axioms.