Me gustaría pasar los argumentos múltiples con valores positivos o negativos. ¿Es posible analizarlo?BOOST program_options: análisis de lista de múltiples argumentos
Actualmente tengo una inicialización siguiente:
vector<int> IDlist;
namespace po = boost::program_options;
po::options_description commands("Allowed options");
commands.add_options()
("IDlist",po::value< vector<int> >(&IDlist)->multitoken(), "Which IDs to trace: ex. --IDlist=0 1 200 -2")
("help","print help")
;
y me gustaría llamar:
./test_ids.x --IDlist=0 1 200 -2
unknown option -2
Así, los program_options supone que estoy pasando -2 como otra opción.
¿Puedo configurar las opciones del programa de tal manera que pueda aceptar los valores enteros negativos?
Gracias Arman.
EDIT: Por cierto me analizarlo por el analizador simple
store(command_line_parser(argc, argv).options(commands).run(), vm);
, pero solution era utilizar la ampliada:
parse_command_line
program_options están desnudando "", por lo que "-2" se convirtió en -2, también la opción \ -2 toma como \ -2, las comillas simples '-2' permanecen como están. – Arman
¿Las comillas se eliminan y se interpreta como otra opción? Es extraño, según la documentación [1], parecía que sería el camino a seguir. [1] http://www.boost.org/doc/libs/1_42_0/doc/html/program_options/overview.html#id1419101 – kloffy
Supongo que citar toda la lista tampoco funciona?(--IDlist = "0 1 200 -2") – kloffy