|
| Tool ()=delete |
|
| Tool (const Tool &)=delete |
|
| Tool (Tool &&)=delete |
|
| Tool (const fs::path &binary, const std::string &arguments) |
| Creates a generic tool from a binary and command line arguments. More...
|
|
| Tool (const std::string &name, const fs::path &binary, const std::string &arguments) |
| Creates a named tool from a binary and command line arguments. More...
|
|
virtual | ~Tool ()=default |
|
Tool & | operator= (const Tool &)=delete |
|
Tool & | operator= (Tool &&)=delete |
|
std::string | name () const |
| Common name of this tool. More...
|
|
fs::path | binary () const |
| Full path to the binary. More...
|
|
const std::map< std::string, std::string > & | attributes () const |
| A set of attributes, for example compilation options. More...
|
|
std::vector< std::string > | resolveDependencies () const |
| Get dependencies of binary required to run it (via ldd) More...
|
|
std::size_t | attributeHash () const |
| Hash of the attributes. More...
|
|
virtual std::string | getCommandline (const std::string &file) const |
| Compose commandline for this tool and the given input file. More...
|
|
virtual std::string | getCommandline (const std::string &file, const std::string &localBinary) const |
| Compose commandline for this tool with another binary name and the given input file. More...
|
|
virtual std::optional< std::string > | parseCommandline (const std::string &cmdline) const |
| Compose commandline for this tool and the given input file. More...
|
|
virtual bool | canHandle (const fs::path &) const |
| Checks whether this cool can handle this file type. More...
|
|
virtual void | additionalResults (const fs::path &, BenchmarkResult &) const |
| Recover additional results from the tool output. More...
|
|
Base class for any tool.
A tool represents some executable that can be run with some input file. A tool is responsible for
- deciding it is applicable for a given file extension,
- building a command line to execute it and
- parse additional results from stdout / stderr after it has run.
A tool is not to be copied or moved around but should only exist a single time.
Definition at line 38 of file Tool.h.