GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
gtestCmdLnArg.cxx File Reference
#include <string>
#include <vector>
#include "Framework/Messenger/Messenger.h"
#include "Framework/Utils/CmdLnArgParser.h"
Include dependency graph for gtestCmdLnArg.cxx:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 30 of file gtestCmdLnArg.cxx.

References genie::CmdLnArgParser::Arg(), genie::CmdLnArgParser::ArgAsDouble(), genie::CmdLnArgParser::ArgAsLong(), genie::CmdLnArgParser::ArgAsStringTokens(), LOG, genie::CmdLnArgParser::OptionExists(), and pNOTICE.

31 {
32  CmdLnArgParser parser(argc,argv);
33 
34  LOG("test", pNOTICE)
35  << "Option -f exists? " << parser.OptionExists('f');
36  LOG("test", pNOTICE)
37  << "Option -s exists? " << parser.OptionExists('s');
38 
39  if(parser.OptionExists('d')) {
40  LOG("test", pNOTICE)
41  << "Command line argument following -d : "
42  << parser.Arg('d');
43  LOG("test", pNOTICE)
44  << "Command line argument following -d (as double): "
45  << parser.ArgAsDouble('d');
46  }
47 
48  if(parser.OptionExists('l')) {
49  LOG("test", pNOTICE)
50  << "Command line argument following -l : "
51  << parser.Arg('l');
52  LOG("test", pNOTICE)
53  << "Command line argument following -l (as long int): "
54  << parser.ArgAsLong('l');
55  }
56 
57  if(parser.OptionExists('v')) {
58  LOG("test", pNOTICE)
59  << "Command line argument following -v : "
60  << parser.Arg('v');
61  vector<string> tokens = parser.ArgAsStringTokens('v',",");
62  vector<string>::const_iterator iter = tokens.begin();
63  for( ; iter != tokens.end(); ++iter) {
64  LOG("test", pNOTICE)
65  << "Token: " << *iter;
66  }
67  }
68 
69  if(parser.OptionExists("with-long-command-line-option")) {
70  LOG("test", pNOTICE)
71  << "Command line argument following --with-long-command-line-option : "
72  << parser.Arg("with-long-command-line-option");
73  }
74 
75  return 0;
76 }
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
Command line argument parser.
#define pNOTICE
Definition: Messenger.h:61