On 04/07/2012 18:37, Evan Driscoll wrote:
On 01/-10/-28163 01:59 PM, Stuart Pook wrote:
that's a weird date!
How can I tell Boost Program Options to stop parsing the arguments as soon as it finds a positional argument? I asked this question a few weeks ago and filed a feature request: https://svn.boost.org/trac/boost/ticket/6991
I guess that the short answer is that you cannot. You cannot write env(1), sudo(1), xargs(1) ... using boost::program_options Thanks for your answer. I'm sorry that I missed your question and spent so long looking for a solution :-( I rewrote my program using getopts. I lost the long option names but I got the behaviour I need: the parsing stops as soon it finds a non-option argument. I can now write: gaingroup -g w-navicell-gp date -u instead of gaingroup -g w-navicell-gp -- date -u for (int opt; (opt = getopt(argc, argv, "+hqivg:")) != -1; ) { switch (opt) { case 'h': std::cout << desc; exit(0); break; case 'v': *verbose = true; break; case 'i': *ignore = true; break; case 'q': *quiet = true; break; case 'g': *group = optarg; break; default: /* '?' */ std::cerr << desc; exit(exit_codes::usage); } } *command = argv + optind; Stuart