Hi,
I have tried to use program_options library. I have compiled the library, ran the
examples and then
incorporated the library into one of my projects.
All worked quite fine.
I have few remarks.
First and in my opinion the most important one is the matter of documentation.
I find it very hard to use. Examples are quite good to give a nice overview of the
library
and that's sufficient for a decent start. But searching for the details is quite
difficult.
I would prefer a few chapters explaining various components of the library, each
followed by
a reference. Right now I find the documentation rather hard to use. Actuay it is very
close to
browsing through header files and in my opinion this is not what the documentation
should
be about.
Besides this issue, I think the library is quite nice and easy to use.
There are few goodies I'd like to see:
* Arguments
As it was already mentioned here, arguments should have the same support as
options. Validation
and format checking would be appretiated
* Validation
Library allows to supports validation and parsing of option parameters, but I
thinks it is rather limited.
It is possible to define user-specific behaviour, but it would be helpful, if some
common formats
would be suported.
For instance:
* Various integer types ( not just int ) with boundary checking.
Something like
paramter<int>( "count", 1, 4, &count ) // 1-Min and 4-Max value
* Format specification and checking for string. Regex specification of something
like scanf would be nice.
This can be useful for example to check if the parameter is a filename.
* Maybe some more ....
* Environment & Others
The library tries to unify the access to program options from command line and from
ini files. This is very
nice feature because it is removing the need for doing generaly the same thing
twice.
It would be nice if some other sources of paramers could be incorporated as well.
Particulary the enviromnmet
is often used to exchange arguments. Given the fact that it consist of a set of
pairs "variable=value"
it is very similar to the ini file and so it souldn't be hard to implement.
For windows platform the registry comes to play as another source of options.
Conclusion:
I think that this library should be ACCEPTED to Boost. However I would strongly
suggest to put some effort to make
the documentation more usable.
Pavol
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost