19 #ifndef __CVC4__OPTIONS__OPTIONS_H
20 #define __CVC4__OPTIONS__OPTIONS_H
40 class NodeManagerScope;
45 options::OptionsHolder* d_holder;
52 void assign(T, std::string option, std::string value,
SmtEngine* smt);
55 void assignBool(T, std::string option,
bool value,
SmtEngine* smt);
57 friend class NodeManager;
58 friend class NodeManagerScope;
78 void set(T,
const typename T::type&) {
81 T::you_are_trying_to_assign_to_a_read_only_option;
86 const typename T::type& operator[](T)
const;
95 bool wasSetByUser(T)
const;
101 std::string getDescription()
const;
108 static void printUsage(
const std::string msg, std::ostream&
out);
116 static void printShortUsage(
const std::string msg, std::ostream&
out);
119 static void printLanguageHelp(std::ostream&
out);
126 static std::string suggestCommandLineOptions(
const std::string& optionName)
throw();
134 static std::vector<std::string> suggestSmtOptions(
const std::string& optionName)
throw();
141 std::vector<std::string> parseOptions(
int argc,
char* argv[])
throw(
OptionException);
146 SExpr getOptions()
const throw();
152 #include "options/base_options.h"
Header to define CVC4_THREAD whether or not TLS is supported by the compiler/runtime platform...
Class representing an option-parsing exception such as badly-typed or missing arguments, arguments out of bounds, etc.
Options-related exceptions.
Simple representation of S-expressions.
Definition of input and output languages.
static Options & current()
Get the current Options in effect.
Macros that should be defined everywhere during the building of the libraries and driver binary...
struct CVC4::options::out__option_t out
void set(T, const typename T::type &)
Set the value of the given option.
#define CVC4_THREADLOCAL(__type...)