Boost logo

Boost Users :

From: JD (jean.daniel.michaud_at_[hidden])
Date: 2007-08-13 14:41:33


JD wrote:
> Hi all,
>
> I wrote a little command line interpreter based on the program option
> library by Vladimir Prus. You can find it here:
> http://minilien.com/?bNPy1ECuWv.
>
> It's not a big thing but can help sometime.
> You also have the subversion repository there:
> http://code.google.com/p/clipo/
>
>
> Let me know what you think.
>
> JD

An example for those who don't like the web pages.

Example:

/////
namespace po = boost::program_options;

void handler(const std::vector<std::string> &parameters)
{
    for (std::vector<std::string>::const_iterator it = parameters.begin();
         it != parameters.end();
         ++it)
      std::cout << *it << std::endl;
}

void exit_(unsigned int code = 0)
{
    exit(code);
}

int main(int argc, char **argv)
{
    boost::cli::commands_description desc;
    desc.add_options()
      ("handler", po::value< std::vector<std::string>
>()->notifier(&handler)->multitoken())
      ("exit", po::value< unsigned int >()->notifier(&exit_))
      ;

    boost::cli::command_line_interpreter cli(desc, ">");
    cli.interpret(std::cin);
}
//////

Output:

>handler
error: required parameter is missing in 'handler'
>handler 1 2 3
1
2
3
>toto
error: unknown option toto
>exit 0
Press any key to continue . . .

JD


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net