#ifndef __PLASP_APP__OPTION_GROUPS_H #define __PLASP_APP__OPTION_GROUPS_H #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////// // // Option Groups // //////////////////////////////////////////////////////////////////////////////////////////////////// class OptionException : public pddl::Exception { public: using Exception::Exception; }; //////////////////////////////////////////////////////////////////////////////////////////////////// struct OptionGroupBasic { void addTo(cxxopts::Options &options); void parse(cxxopts::Options &options); void printHelp(std::ostream &stream); bool help = false; bool version = false; bool warningsAsErrors = false; }; //////////////////////////////////////////////////////////////////////////////////////////////////// struct OptionGroupOutput { void addTo(cxxopts::Options &options); void parse(cxxopts::Options &options); void printHelp(std::ostream &stream); colorlog::ColorStream::ColorPolicy colorPolicy = colorlog::ColorStream::ColorPolicy::Auto; colorlog::Priority logPriority = colorlog::Priority::Info; }; //////////////////////////////////////////////////////////////////////////////////////////////////// struct OptionGroupParser { void addTo(cxxopts::Options &options); void parse(cxxopts::Options &options); void printHelp(std::ostream &stream); std::vector inputFiles; pddl::Mode parsingMode = pddl::Mode::Strict; plasp::Language::Type language = plasp::Language::Type::Automatic; }; //////////////////////////////////////////////////////////////////////////////////////////////////// #endif