|
Boost : |
Subject: Re: [boost] [ANN] CLI command line interface compiler for C++
From: Boris Kolpackov (boris_at_[hidden])
Date: 2009-10-29 11:22:39
Hi Jeffrey,
Jeffrey Bosboom <jbosboom_at_[hidden]> writes:
> Are you proposing this for inclusion in Boost
I think it is too early to think about this since it is just the first
public release. Also, as you have mentioned, there is the program_options
library already in Boost which tries to address the same problem though
in a different way.
> If it's the former, how does your library compare against
> program_options, already part of Boost?
I have answered this question in detail in the following two blog posts:
http://www.codesynthesis.com/~boris/blog/2009/06/28/cli-cxx-the-ideal-solution/
http://www.codesynthesis.com/~boris/blog/2009/07/05/cli-cxx-existing-solutions/
In a nutshell, program_options has the following main drawbacks:
- verbosity
- the use of strings to identify options (easy to misspell)
- the need to specify the option type every time its value is
retrieved (lack of type safety)
CLI addresses these problems by using a concise, special-purpose language
to capture the option specifications and by using functions with static
return types to access the option values.
Boris
-- Boris Kolpackov, Code Synthesis Tools http://codesynthesis.com/~boris/blog Open-source XML data binding for C++: http://codesynthesis.com/products/xsd XML data binding for embedded systems: http://codesynthesis.com/products/xsde
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk