In the documentation for program_options, under the "Library
Overview"/"Syntactic Information", the documentation appears to be
incorrect.
For the following option description:
("verbose", value<string>()->zero_tokens(), "verbosity level")
It states that:
"the user may either provide a single token for the value, or no token at all."
I wrote a test program based on the options given in this section of the
manual, and I get different behavior for the 'verbose' option. In fact, the
actual behavior is almost intuitive: the option is unusable. No matter what
you do, its an error. Seems natural since you're saying the option has a
value associated with it, yet no tokens may be given to specify the value.
It also turns out that 'multitoken()' does not allow you to pass multiple
tokens, but it does raise an exception if you specify anything after the
first value, i.e.:
./a.out --email blah@blah me@somewhere
exception: in option 'email': multiple values not allowed
./a.out --email blah@blah --help
exception: in option 'email': multiple values not allowed
Here's my test program:
<code>
#include