12#ifndef MCRL2_UTILITIES_PARALLEL_TOOL_H
13#define MCRL2_UTILITIES_PARALLEL_TOOL_H
28template <
typename Tool>
39 Tool::add_options(desc);
42 desc.add_option(
"threads",
utilities::make_mandatory_argument(
"NUM"),
"run with NUM threads (default=1). With multiple threads the stack size on a Mac is limited which can lead to bus errors. ");
46 desc.add_option(
"threads",
utilities::make_mandatory_argument(
"NUM"),
"run with NUM threads (default=1). This option is not available as this tool is compiled as a sequential tool.");
55 Tool::parse_options(parser);
57 if (parser.has_option(
"threads"))
66 throw mcrl2::runtime_error(
"This tool is compiled for sequential use. The number of threads (now: " +
77 const std::string& author,
78 const std::string& what_is,
79 const std::string& tool_description,
80 std::string known_issues =
""
82 : Tool(name, author, what_is, tool_description, known_issues)
Standard exception class for reporting runtime errors.
Components for command line interfaces of mCRL2 tools.
static constexpr bool GlobalThreadSafe
Enables thread safety for the whole toolset.
interface_description::mandatory_argument< std::string > make_mandatory_argument(std::string const &name, std::string const &default_value)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...