vt::arguments::ArgConfig struct

Component that manages the configuration for a VT instance, parsed through the command-line arguments.

Base classes

template<typename T>
struct vt::runtime::component::Component<ArgConfig>
Component class for a generic VT runtime module, CRTP'ed over the component's actual type

Public static functions

static auto construct(std::unique_ptr<ArgConfig> arg) -> std::unique_ptr<ArgConfig>

Public functions

auto parse(int& argc, char**& argv, AppConfig const* appConfig) -> std::tuple<int, std::string>
auto parse(std::unique_ptr<ParseInputHolder> parse_input_holder, AppConfig const* appConfig) -> std::tuple<int, std::string>
auto setupInputHolder(int& argc, char**& argv) -> std::unique_ptr<ParseInputHolder>
Setup the input holder and modify argc/argv.
auto name() -> std::string override
Get the name of the component.
template<typename SerializerT>
void serialize(SerializerT& s)

Public variables

AppConfig config_

Function documentation

std::tuple<int, std::string> vt::arguments::ArgConfig::parse(int& argc, char**& argv, AppConfig const* appConfig)

Parse the arguments into ArgConfig. Re-assigns argc/argv to remove consumed arguments. On success the tuple will be {-1, ""}. Otherwise the exit code (which may be 0 if help was requested) will be returned along with an appropriate display message.

std::unique_ptr<ParseInputHolder> vt::arguments::ArgConfig::setupInputHolder(int& argc, char**& argv)

Setup the input holder and modify argc/argv.

Parameters
argc in argc
argv in argv
Returns the parse input holder