id summary reporter owner description type status milestone component version severity resolution keywords cc 3330 boost::program_options doesn't allow naming the argument in a straightforward way grumbel@… Vladimir Prus "When using boost::program_options, there is no straightforward way to set the name of a boost::program_options::value<>(): {{{ #include #include int main() { boost::program_options::options_description desc; desc.add_options() (""width"", boost::program_options::value(), ""Give width""); std::cout << desc << std::endl; return 0; } }}} The above code gives: {{{ --width arg Give width in pixels }}} What it should allow is replacing the ""arg"" name with something more descriptive like PIXELS: {{{ --width PIXELS Give width in pixels }}} For example via {{{boost::program_options::value(""PIXELS"")}}}. Even the tutorial makes ""use"" of this non-existant feature: http://www.boost.org/doc/libs/1_39_0/doc/html/program_options/tutorial.html The output at the bottom of the page shows ""--optimization n"" instead of ""--optimization arg"", same with ""path"". There is a way to accomplish a different arg name by inheriting from boost::program_options::typed_value<> as documented at: http://stackoverflow.com/questions/1249646/when-using-boostprogramoptions-how-does-one-set-the-name-of-the-argument But considering that naming the argument is a extremely common use case, this should be doable in a much more straightforward manner, such as an additional name argument to po_value()." Feature Requests closed Boost 1.40.0 program_options Boost 1.37.0 Problem wontfix