#include <string>
using namespace gismo;
int main(
int argc,
char* argv[])
{
std::string string("none");
real_t flNumber = 1.0;
bool boolean = false;
std::string plainString;
std::vector<index_t> intvec;
gsCmdLine cmd(
"Tutorial Command Line Arguments");
cmd.addString("s", "stringArg",
"Description of string command line argument.",
string);
cmd.addInt ("i", "num",
"Description of int command line argument",
number);
cmd.addNewInt ("j", "numj",
"Description of another int command line argument",
2);
cmd.addReal ("r", "real",
"Description of float command line argument",
flNumber);
cmd.addSwitch("bool","Description of the switch argument.", boolean);
std::string value = "default_plain_value";
cmd.addPlainString("plain", "Description of the plain command line argument.", plainString);
cmd.addMultiInt("m", "multiint", "Description of multiint command line argument.", intvec);
try { cmd.getValues(argc,argv); } catch (int rv) { return rv; }
cmd.printVersion();
gsInfo <<
"\nPrinting command line arguments:\n\n"
<< "Plain string: " << plainString << "\n"
<< "String: " << string << "\n"
<< "Float: " << flNumber << "\n"
<< "Integer: " << number << "\n"
<< "Switch: " << boolean << "\n"
<< "MultiInt {";
std::ostream_iterator<int>(
gsInfo,
", "));
gsInfo <<
"\nPrinting command line arguments again (using names):\n\n"
<< "Plain string: " << cmd.getString("plain") << "\n"
<< "String: " << cmd.getString("stringArg") << "\n"
<< "Float: " << cmd.getReal("real") << "\n"
<< "Integer: " << cmd.getInt("num") << "\n"
<< "Another one: " << cmd.getInt("numj") << "\n"
<< "Switch: " << cmd.getSwitch("bool") << "\n"
;
gsInfo<<
"\nPrint out as an Option list. "<< cmd <<
"\n";
return 0;
}