Gromacs
2025-dev-20241002-88a4191
|
#include <gromacs/commandline/cmdlinemodule.h>
Module that can be run from command line using CommandLineModuleManager.
Public Member Functions | |
virtual const char * | name () const =0 |
Returns the name of the module. | |
virtual const char * | shortDescription () const =0 |
Returns a one-line description of the module. | |
virtual void | init (CommandLineModuleSettings *settings)=0 |
Initializes the module and provides settings for the runner. More... | |
virtual int | run (int argc, char *argv[])=0 |
Runs the module with the given arguments. More... | |
virtual void | writeHelp (const CommandLineHelpContext &context) const =0 |
Prints help for the module. More... | |
|
pure virtual |
Initializes the module and provides settings for the runner.
This will be called before run(), and can be used to adjust initialization that the runner does.
This method is currently not called when writing the help.
Implemented in gmx::CommandLineHelpModule, gmx::anonymous_namespace{cmdlinemodulemanager.cpp}::CMainCommandLineModule, and anonymous_namespace{legacymodules.cpp}::ObsoleteToolModule.
|
pure virtual |
Runs the module with the given arguments.
[in] | argc | Number of elements in argv . |
[in] | argv | Command-line arguments. |
unspecified | May throw exceptions to indicate errors. |
0 | on successful termination. |
argv
[0] is the name of the module, i.e., the arguments are as if the module was run as a standalone executable.
Implemented in gmx::CommandLineHelpModule, gmx::anonymous_namespace{cmdlinemodulemanager.cpp}::CMainCommandLineModule, and anonymous_namespace{legacymodules.cpp}::ObsoleteToolModule.
|
pure virtual |
Prints help for the module.
[in] | context | Context object for writing the help. |
std::bad_alloc | if out of memory. |
FileIOError | on any I/O error. |
Note that for MPI-enabled builds, this is called only on the main rank.
Implemented in gmx::CommandLineHelpModule, gmx::anonymous_namespace{cmdlinemodulemanager.cpp}::CMainCommandLineModule, and anonymous_namespace{legacymodules.cpp}::ObsoleteToolModule.