Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

boost::program_options: How to specify a command without "--" or "-"

I'm using boost::program_options to implement a command-line utility with this syntax:

myutil command [--in file_name] [---out file_name]

where 'command' is mandatory, and is one of the following:

read | write | find | version | help

the thing is that 'command' should not require -- or - and I have not found how to do that with boost::program_options.

like image 846
Periodic Maintenance Avatar asked Jul 30 '12 06:07

Periodic Maintenance


1 Answers

The command line options which have no name are called positional options:

po::positional_options_description p;
p.add("command", -1);
po::variables_map vm;
po::store(po::command_line_parser(ac, av).
          options(desc).positional(p).run(), vm);
like image 171
perreal Avatar answered Oct 16 '22 18:10

perreal