Class CLIParser
- Defined in File cli_parser.hpp 
- 
class CLIParser
- CLI Parser class. - This class is used to parse the command line arguments. It uses CLI11 library internally. - The application binary (in C++) or the Python script (in Python) can be executed with various command-line options to run the App Driver and/or the App Worker: - --driver: Run the App Driver on the current machine. Can be used together with the- --workeroption to run both the App Driver and the App Worker on the same machine.
- --worker: Run the App Worker.
- --address: The address (- [<IPv4 address or hostname>][:<port>]) of the App Driver. If not specified, the App Driver uses the default host address (0.0.0.0) with the default port number (8765).
- --worker-address: The address (- [<IP or hostname>][:<port>]) of the App Worker. If not specified, the App Worker uses the default host address (0.0.0.0) with a randomly chosen port number between 10000 and 32767 that is not currently in use.
- --fragments: The comma-separated names of the fragments to be executed by the App Worker. If not specified, only one fragment (selected by the App Driver) will be executed.- allcan be used to run all the fragments.
- --config: The path to the configuration file. This will override the configuration file path configured in the application code (before run() is called).
 - If neither - --drivernor- --workeris specified, the application will run the application without the App Driver and the App Worker, as if the application were running in the single-node without network communication. Connections between fragments are replaced with the standard intra-fragment connections (double-buffered transmitter/receiver) used for operators.- Public Functions - 
CLIParser() = default
- Construct a new CLIParser object. 
 - 
void initialize(std::string app_description = "", std::string app_version = "0.0.0")
- Initialize the CLI Parser. - Set the application description and name and add options/flags for parsing. - Parameters
- app_description – The description of the application. 
 
 - 
std::vector<std::string> &parse(std::vector<std::string> &argv)
- Parse the command line arguments. - Parse the command line arguments and return the remaining arguments. * Note that the provided vector ‘argv’ will be modified. - Parameters
- argv – The reference to the vector of strings that contains the command line arguments. 
- Returns
- The reference to the vector of strings that contains the remaining arguments (same as ‘argv’). 
 
 - 
bool has_error() const
- Check if there is an error during parsing. - Returns
- true If there is an error during parsing. 
 
 - 
CLIOptions &options()
- Get the reference of the CLIOptions struct. - Returns
- The reference of the CLIOptions struct. 
 
 - Protected Attributes - 
CLI::App app_
- The CLI11 application object. 
 - 
bool is_initialized_ = false
- The flag to check if the parser is initialized. 
 - 
bool has_error_ = false
- The flag to check if there is an error during parsing. 
 - 
CLIOptions options_
- The CLI options.