[Program Options] Requiring command-line options
Heya! I just thinking about switching from simpleOpt to BoostPO for command line handling, mainly because of its support of configuration files. This may be a stupid question, but I haven't seen anything about making a command line parameter *required*. You'd think this is a pretty common thing, but I didn't see any mention of it in the tutorials or anything. I guess I could just make certain parameters default -1/NULL or something, and then test at the end if they're still equal to that, but that seems a bit ugly. Is there built in support (a flag in the "add_options" function or something) for making certain parameters required? Thanks a lot!
This seems to work for me: ("namespace", po::value<std::string>(&args.name_space)->required(),"namespace to scrub") throws an exception when appropriate: ERROR - main: Caught an exception exiting main: missing required option namespace I remember having to hunt for it too. Greetz, Immanuel On Thu, Jun 3, 2010 at 9:41 AM, Jeremy Abramson <abramson@isi.edu> wrote:
Heya! I just thinking about switching from simpleOpt to BoostPO for command line handling, mainly because of its support of configuration files. This may be a stupid question, but I haven't seen anything about making a command line parameter *required*. You'd think this is a pretty common thing, but I didn't see any mention of it in the tutorials or anything. I guess I could just make certain parameters default -1/NULL or something, and then test at the end if they're still equal to that, but that seems a bit ugly. Is there built in support (a flag in the "add_options" function or something) for making certain parameters required?
Thanks a lot!
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
So this is not in the documentation? Could you add a ticket in track to fix the documentation? Best, Dee On Thu, Jun 3, 2010 at 9:09 PM, immanuel litzroth <ilitzroth@gmail.com> wrote:
This seems to work for me: ("namespace", po::value<std::string>(&args.name_space)->required(),"namespace to scrub") throws an exception when appropriate: ERROR - main: Caught an exception exiting main: missing required option namespace I remember having to hunt for it too. Greetz, Immanuel
On Thu, Jun 3, 2010 at 9:41 AM, Jeremy Abramson <abramson@isi.edu> wrote:
Heya! I just thinking about switching from simpleOpt to BoostPO for command line handling, mainly because of its support of configuration files. This may be a stupid question, but I haven't seen anything about making a command line parameter *required*. You'd think this is a pretty common thing, but I didn't see any mention of it in the tutorials or anything. I guess I could just make certain parameters default -1/NULL or something, and then test at the end if they're still equal to that, but that seems a bit ugly. Is there built in support (a flag in the "add_options" function or something) for making certain parameters required?
Thanks a lot!
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
So this is not in the documentation? Could you add a ticket in track to fix the documentation?
You can do it just as well ;-)
Not at that moment ;) But fair enough: https://svn.boost.org/trac/boost/ticket/4299 Best, Dee
participants (5)
-
Diederick C. Niehorster
-
Ilya Sokolov
-
immanuel litzroth
-
Jeremy Abramson
-
Vladimir Prus