Go to the documentation of this file.
6 #define OPTION_ID(the_id) \
7 const irep_idt ID_smt_option_##the_id{"smt_option_" #the_id};
8 #include <solvers/smt2_incremental/smt_options.def>
22 return !(*
this == other);
28 set(ID_value, setting);
36 template <
typename visitort>
39 #define OPTION_ID(the_id) \
40 if(id == ID_smt_option_##the_id) \
41 return visitor.visit(static_cast<const smt_option_##the_id##t &>(option));
44 #include <solvers/smt2_incremental/smt_options.def>
56 ::accept(*
this,
id(), std::move(visitor));
#define UNREACHABLE
This should be used to mark dead code.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
void accept(const smt_optiont &option, const irep_idt &id, visitort &&visitor)
smt_option_produce_modelst(bool setting)
void accept(smt_option_const_downcast_visitort &) const
bool operator!=(const smt_optiont &) const
bool operator==(const irept &other) const
There are a large number of kinds of tree structured or tree-like data in CPROVER.
bool operator==(const smt_optiont &) const
bool get_bool(const irep_idt &name) const