1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/* Copyright (C) 1999-2004 University of Oxford */
/* CCOPYRIGHT */
#include "options.h"
#include "buildno.h"
namespace Utilities {
using namespace std;
void OptionParser::describe_options()
{
for(Options::iterator option = options_.begin(); option != options_.end();
option++)
{
if((*option)->compulsory() && (*option)->visible()) {
static bool banner = true;
if(banner) {
cerr << endl << "Compulsory arguments (You MUST set one or more of):" << endl;
banner = false;
}
(*option)->usage(cerr); cerr << endl;
}
}
for(Options::iterator optionx = options_.begin(); optionx != options_.end();
optionx++)
{
if(!(*optionx)->compulsory() && (*optionx)->visible()) {
static bool banner = true;
if(banner) {
cerr << endl << "Optional arguments (You may optionally specify one or more of):" << endl;
banner = false;
}
(*optionx)->usage(cerr); cerr << endl;
}
}
cerr << endl;
cerr << endl;
}
void OptionParser::brief_usage()
{
cerr << progname_ << endl << endl;
cerr << "Usage: " << endl << example_ << endl;
describe_options();
}
void OptionParser::usage()
{
cerr << endl << "Part of FSL (build " << build << ")"<< endl;
cerr << progname_ << endl << endl;
cerr << "Usage: " << endl << example_ << endl;
describe_options();
}
}
|