Subject: Re: [boost] [program options] why is ->multitoken() not default for vector arguments?
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-06-08 14:52:43
Thorsten Ottosen wrote:
> I have code like
> bpo::options_description desc("Allowed options");
> ("help", "produce help message")
> ("file", bpo::value<std::string>(), ".sug file with graph
> ("new_edge", bpo::value<std::vector<unsigned>>()->multitoken(),
> "two numbers denoting the new edge");
> I had to add the ->multitoken to make a command like
> ./clique_tester.exe --new_edge 1 2 --file bug1.sug
> This seems wierd. Why would I want a vector of values, yet only parse
> one of the trailing argument?
multitoken options are evil, because of parsing ambiguities. The motivating
examples for vector<string> option is the -I option of a compiler -- where
each instance of -I takes a single path -- and which seem to work just fine.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk