id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 1123,[program_options] patch - optional argument support (gnu getopt_long style),anonymous,Vladimir Prus,"Attached is a patch to program_options that implements optional argument support, in the style of GNU getopt_long. It adds one new method to 'value_type': 'implicit_value()'. The idea is that, if the option is given without an argument, it is assigned an ""implicit"" value. Otherwise, if the long-option is given an explicit argument via the equals sign (--arg=value), or the short-option is given an adjacent argument (-avalue), the explicit value will override the implicit one. For example: desc.add_options() (""proxy,p"", value(&proxy_port)->implicit_value(DefaultProxyPort), ""run proxy service"") ; ... if (vm.count(""proxy"")) enable_the_proxy(proxy_port); ./prog --proxy --opt2 --opt3 -> enables proxy on default port. ./prog --proxy=9000 --opt2 --opt3 -> enables proxy on port 9000. ./prog --opt2 --opt3 -> does not enable the proxy. ",Bugs,closed,To Be Determined,program_options,Boost 1.34.1,Not Applicable,duplicate,,