I have to say that I'm a little torn over this library. I really like its simplicity and usefulness; however, I wish it were more of a facade on a more complex library. For example, I would like to be able to have multiple config file parsers for winini, tag=value,xml, or other config file types. Also, I would like to see canned custom parsers for -fparm/-fno-parm and +parm -parm syntax. However, as it stands I think it is a good contribution and I would definitely use it. I will withhold my vote until I have a chance to play around with it some more.
Here are my addressable comments (1) I would like to have a find_if and count_if function as I often want to find a parameter of the format *.field.* It doesn't matter what the *'s are as long as it contains .field. They should both take a function as a parameter. (2) Someone else mentioned custom parameter verification. I'm kind of split on this. I don't mind it if you could pass in an arbitrary functor (like a lambda library functor). However, I also don't mind doing the validation outside of the library. I definitely don't want the parameter function to take arbitrary parameters (like the min/max idea presented earlier) as that would just be too confusing. (3) As another pointed out, the documentation is definitely lacking. I would like less of code documentation and more of user documentation. I would like to see more examples with sample output and a slow moving tutorial that covers all of the features. (4) What if I want parameters to occur in a particular order? For example, the -kk option can only occur after the update parameter in cvs: cvs update -kk blah blah blah is legal cvs -kk update blah blah blah is not It would be nice to either be able to specify a mandatory ordering, or to be able to find out the position of the parameter. If you could specify a mandatory ordering, then I would like it to be relative. For instance every parameter with ordering level 0 must appear before every parameter with ordering level 1; however, parameters with ordering level 0 can appear in any order amongst themselves. Now for comments on what other people have said. (1) I also like parameter as the last argument instead of the middle one...it just flows better to me. (2) I like the parameter function and don't really like the syntax that used the >> operator...it just looks odd to me. (3) I like the parameter function taking the argument by pointer as it is easier to understand what is happening. (4) The exception name "error" doesn't bother me...I kinda like it :) All in all it looks to be a good library. However, I may have missed the ability to define a custom config file format. If I didn't then I fully think that needs to be added or config files need to be dropped entirely. Even environment variables could be used with a custom config file parser. Also, the documentation leaves much to be desired. If those two concerns are addressed then I will fully support this library. Tanton _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost