I'm trying to parse unregistered options in any number of files provided at command line. Let's say I have files:
configs0.ini configs1.ini configs2.ini And I wanted to support any number of these.
My code (simplified):
namespace po = boost::program_options; po::options_description cmd_opts{"Options"}; po::options_description config_file_opts; po::variables_map vm; cmd_opts.add_options() ("help,h", "Help message") ("config_files", po::value<std::vector<std::string>>()->multitoken(), "Configuration files to get settings from") po::parser.options(reg_config_file_opts).allow_unregistered(); po::store(parse_command_line(argc, argv, cmd_opts), vm); config_files = vm["config_files"].as<std::vector<std::string>>(); po::parsed_options parsed_opts; for(auto file : config_files) { std::ifstream ifs(file, std::ifstream::in); if(ifs.fail()) { std::cerr << "Error opening config file: " << file << std::endl; return false; } ifs.close(); <NEED HELP HERE> parsed_opt.add(parse_config_file(ifs, reg_config_file_opts)); } po::store(parsed_opts, vm); Does parsed_options have some sort of .add ability?