vorrei passare gli argomenti multipli con valori positivi o negativi. È possibile analizzarlo?program_options Boost: parsing lista degli argomenti più
Attualmente ho un seguito di inizializzazione:
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")
;
e vorrei chiamare:
./test_ids.x --IDlist=0 1 200 -2
unknown option -2
Così, le program_options presuppone che sto passando -2 come un'altra opzione.
Posso configurare le program_options in modo che possa accettare i valori interi negativi?
Grazie Arman.
EDIT: BTW ero analizzarlo dal semplice parser
store(command_line_parser(argc, argv).options(commands).run(), vm);
, ma solution è stato quello di utilizzare la distesa:
parse_command_line
program_options sono spogliando "", in modo da "-2" è diventato -2, anche il \ -2 prende come opzione \ -2, le virgolette singole '-2' rimangono invariate. – Arman
Quindi le virgolette sono rimosse e vengono interpretate come un'altra opzione? È strano, dalla documentazione [1] sembrava che sarebbe stata la strada da percorrere. [1] http://www.boost.org/doc/libs/1_42_0/doc/html/program_options/overview.html#id1419101 – kloffy
suppongo citando l'intero elenco non funziona neanche?(--IDlist = "0 1 200 -2") – kloffy