本文整理汇总了C++中OptionParser::disable_interspersed_args方法的典型用法代码示例。如果您正苦于以下问题:C++ OptionParser::disable_interspersed_args方法的具体用法?C++ OptionParser::disable_interspersed_args怎么用?C++ OptionParser::disable_interspersed_args使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OptionParser
的用法示例。
在下文中一共展示了OptionParser::disable_interspersed_args方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
const string usage =
(!getenv("DISABLE_USAGE")) ?
"usage: %prog [OPTION]... DIR [FILE]..." : SUPPRESS_USAGE;
const string version = "%prog 1.0\nCopyright (C) 2010 Johannes Weißl\n"
"License GPLv3+: GNU GPL version 3 or later "
"<http://gnu.org/licenses/gpl.html>.\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.";
const string desc = "Lorem ipsum dolor sit amet, consectetur adipisicing"
" elit, sed do eiusmod tempor incididunt ut labore et dolore magna"
" aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco"
" laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor"
" in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla"
" pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa"
" qui officia deserunt mollit anim id est laborum.";
const string epilog = "Sed ut perspiciatis unde omnis iste natus error sit"
" voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque"
" ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae"
" dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit"
" aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos"
" qui ratione voluptatem sequi nesciunt.\nNeque porro quisquam est, qui"
" dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia"
" non numquam eius modi tempora incidunt ut labore et dolore magnam"
" aliquam quaerat voluptatem.";
OptionParser parser = OptionParser()
.usage(usage)
.version(version)
.description(desc)
.epilog(epilog)
;
if (getenv("DISABLE_INTERSPERSED_ARGS"))
parser.disable_interspersed_args();
parser.set_defaults("verbosity", "50");
parser.set_defaults("no_clear", "0");
// test all actions
parser.add_option("--clear") .action("store_false") .dest("no_clear") .help("clear (default)");
parser.add_option("--no-clear") .action("store_true") .help("not clear");
parser.add_option("--string")
.help("This is a really long text... very long indeed! It must be wrapped on normal terminals.");
parser.add_option("-x", "--clause", "--sentence") .metavar("SENTENCE") .set_default("I'm a sentence")
.help("This is a really long text... very long indeed! It must be wrapped on normal terminals. "
"Also it should appear not on the same line as the option.");
parser.add_option("-k") .action("count") .help("how many times?");
parser.add_option("--verbose") .action("store_const") .set_const("100") .dest("verbosity") .help("be verbose!");
parser.add_option("-s", "--silent") .action("store_const") .set_const("0") .dest("verbosity") .help("be silent!");
parser.add_option("-n", "--number") .type("int") .set_default("1") .metavar("NUM") .help("number of files (default: %default)");
parser.add_option("-H") .action("help") .help("alternative help");
parser.add_option("-V") .action("version") .help("alternative version");
parser.add_option("-i", "--int") .action("store") .type("int") .set_default(3) .help("default: %default");
parser.add_option("-f", "--float") .action("store") .type("float") .set_default(5.3) .help("default: %default");
parser.add_option("-c", "--complex") .action("store") .type("complex");
char const* const choices[] = { "foo", "bar", "baz" };
parser.add_option("-C", "--choices") .choices(&choices[0], &choices[3]);
#if __cplusplus >= 201103L
parser.add_option("--choices-list") .choices({"item1", "item2", "item3"});
#else
char const* const choices_list[] = { "item1", "item2", "item3" };
parser.add_option("--choices-list") .choices(&choices_list[0], &choices_list[3]);
#endif
parser.add_option("-m", "--more") .action("append");
parser.add_option("--more-milk") .action("append_const") .set_const("milk");
parser.add_option("--hidden") .help(SUPPRESS_HELP);
// test for 325cb47
parser.add_option("--option1") .action("store") .type("int") .set_default(1);
parser.add_option("--option2") .action("store") .type("int") .set_default("1");
parser.set_defaults("option1", "640");
parser.set_defaults("option2", 640); // now works
MyCallback mc;
parser.add_option("-K", "--callback") .action("callback") .callback(mc) .help("callback test");
parser.add_option("--string-callback") .action("callback") .callback(mc) .type("string") .help("callback test");
OptionGroup group1 = OptionGroup(parser, "Dangerous Options",
"Caution: use these options at your own risk. "
"It is believed that some of them\nbite.");
group1.add_option("-g") .action("store_true") .help("Group option.") .set_default("0");
parser.add_option_group(group1);
OptionGroup group2 = OptionGroup(parser, "Size Options", "Image Size Options.");
group2.add_option("-w", "--width") .action("store") .type("int") .set_default(640) .help("default: %default");
group2.add_option("--height") .action("store") .type("int") .help("default: %default");
parser.set_defaults("height", 480);
parser.add_option_group(group2);
try {
Values& options = parser.parse_args(argc, argv);
vector<string> args = parser.args();
cout << "clear: " << (options.get("no_clear") ? "false" : "true") << endl;
cout << "string: " << options["string"] << endl;
cout << "clause: " << options["clause"] << endl;
cout << "k: " << options["k"] << endl;
cout << "verbosity: " << options["verbosity"] << endl;
cout << "number: " << (int) options.get("number") << endl;
//.........这里部分代码省略.........