Class HighLevelCommand

Inheritance Relationships

Base Type

Class Documentation

class HighLevelCommand : public ICommand

Command for processing high-level thermochemistry calculations (e.g., CBS-QB3, W1U).

This command targets the extraction and tabulation of highly accurate energy methods, typically converting results to kJ/mol or reporting in Hartrees based on the CommandType.

Public Functions

HighLevelCommand(CommandType type, std::string name, std::string desc)

Constructs a HighLevelCommand for a specific unit type.

Parameters:
  • type – The specific CommandType (e.g., HIGH_LEVEL_KJ, HIGH_LEVEL_AU).

  • name – The CLI string used to invoke this command.

  • desc – A brief description of this specific command variant.

virtual std::string get_name() const override

Retrieves the name of the command.

This name corresponds to the keyword used in the CLI to invoke the command.

Returns:

std::string The command name (e.g., “thermo”, “extract”).

virtual std::string get_description() const override

Retrieves a short description of the command.

This description is displayed in the application’s help menu.

Returns:

std::string A brief description of what the command does.

virtual void parse_args(int argc, char *argv[], int &i, CommandContext &context) override

Parses command-specific arguments from the command line.

Parameters:
  • argc – The total number of command-line arguments.

  • argv – Array of command-line argument strings.

  • i – The current index in argv. Passed by reference to allow the command to consume arguments.

  • context – The CommandContext used to store application-level options and warnings.

virtual int execute(const CommandContext &context) override

Executes the command.

Parameters:

context – The CommandContext containing shared configuration.

Returns:

int The exit code of the execution (0 for success, non-zero for failure).

int execute_kj(const CommandContext &context)
int execute_au(const CommandContext &context)