#include <iostream>
#include "ampl/ampl.h"
int main() {
try {
ampl::AMPL ampl;
int presolve = *ampl.getIntOption("presolve");
int s;
#ifdef FMT_GCC_VERSION
s = FMT_GCC_VERSION;
#else
s = -1;
#endif
std::cout << "AMPL presolve is " << presolve << "\n";
std::cout << "FMT_GCC_VERSION = " << s << "\n";
ampl.setBoolOption("presolve", false);
presolve = *ampl.getIntOption("presolve");
std::cout << "AMPL presolve is now " << presolve << "\n";
if (ampl::Optional<std::string> value = ampl.getOption("solver")) {
std::cout << "Option solver exists and has value: " << *value << "\n";
}
if (ampl::Optional<std::string> value = ampl.getOption("s_o_l_v_e_r")) {
std::cout << "Option s_o_l_v_e_r does not exists!\n";
}
try {
ampl.getOption("s_o_l_v_e_r").value();
} catch (const std::exception &ex) {
std::cout << "Option s_o_l_v_e_r does not exist" << std::endl;
std::cout << ex.what() << std::endl;
}
return 0;
} catch (const std::exception &e) {
std::cout << e.what() << "\n";
return 1;
}
}