Template Struct CLIConfig

Struct Documentation

template<class Service>
struct CLIConfig

Public Types

template<>
using ServiceConfig = typename Service::Config
template<>
using ModelConfigPaths = std::vector<std::string>

Public Members

std::string opMode
ModelConfigPaths modelConfigPaths
ServiceConfig serviceConfig

Public Static Functions

template<class App>
static void addOptions(App &app, CLIConfig<Service> &config, bool multiOpMode = false)

All config in bergamot has the following templated addOptions(…) method hierarchically placing parse actions on “option-groups” in nested structs.

This allows to keep additional documentation and information on defaults alongside. Since this is templated with App, we don’t add a CLI11 dependency in any configs, thus CLI11 not coming into the picture until the parser is instantiated.