Boost logo

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