Chuck Messenger wrote: > >>* Library-managed default values > > > > I think it good idea. Need to flesh some details a bit. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Library-Mana >ged_Default_Values_-_Program_Options_Suggestion > > Replace default_value() with optional 3rd arg to parameter(); hardwired > [...] is fine.
OK, I think we've mostly agreed. See the wiki. > >>* add_options() should be able to parse arguments (also, %args%) > > > > That's a bit controversial. I don't yet see the 100% right approach. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Add_Options_ >Should_Be_Able_To_Parse_Arguments_-_Program_Options_Suggestion I get your motivation. I'll think about implementation. > >>* Adaptive formatting (first field width) > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Adaptive_For >matting_-_First_Field_Width_-_Program_Options_Suggestion > > We can't ignore that looks matter. Ugly won't fly. The question is: what if first field width is larger than maximum width? What can we do? > >>* program_name() and %progname% > > > > I'm unsure on both of them. See my comments on Wiki > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Program_Name >_-_Program_Options_Suggestion > > Show an example of "hardcoded" program name. For example: options_description desc("Usage: my_program 1.0.1 <args> OPTIONS\n" " OPTIONS"); > >>* Unified exception class > > > > I think such class exists already. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Unified_Exce >ption_Class_-_Program_Options_Suggestion > > OK, but change exception name from "error" to "program_options_error" I'm almost indiffirent and will be happy to leave this question to others. > >>* Put add_options() ascii args first > > > > It's completely up to reviewers. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Add_Options_ >Should_Be_Able_To_Parse_Arguments_-_Program_Options_Suggestion > > >>* Mandatory options > > > > Good idea. Output formatting is the only issue with me. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Mandatory_Op >tions_-_Program_Options_Suggestion > > I like your format. Great! We've agreed. > >>* Optional "option present" parameter to add_options() > > > > I'd like to see some use cases before adding this feature. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Optional_Opt >ion_Present_Parameter_To_Add_Options_-_Program_Options_Suggestion > > E.g., "grep -f file" -- we want file name, and "pattern-in-file" mode I understand your motivation now, and need only decide on exact interface. > >>* add_options() should use references rather than pointers > > > > That's style issue, and I'm not partial. Let's hear other opinions. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Add_Options_ >Should_Use_References_Rather_Than_Pointers_-_Program_Options_Suggestion > > I don't agree. "Pointer for return value" is C semantics. In C++, > pointers denote optional values. Non-const references are for return > values. Ehm... the "pointer for return values" rule is from TC++PL, IIRC. > >>* User exception > > > > If you have practical need to them, I'll add them. > > See > http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?User_Excepti >on_-_Program_Options_Suggestion > > No - this was just a workaround for lack of integrated argument processing. OK. Thanks again for such a comprehensive review! - Volodya > > > - Chuck > > _______________________________________________ > Unsubscribe & other changes: > http://lists.boost.org/mailman/listinfo.cgi/boost _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost