Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
Jeep.cc
Go to the documentation of this file.
1#include <iostream>
2#include <iomanip>
3#include <string>
4
5#include "Jeep/JeepToolkit.hh"
6#include "Jeep/JParser.hh"
7#include "Jeep/JMessage.hh"
8
9
10/**
11 * \file
12 *
13 * Example program to test file name handling using Jeep/JeepToolkit.hh.
14 * \author mdejong
15 */
16int main(int argc, char **argv)
17{
18 using namespace std;
19 using namespace JPP;
20
21 string file_name;
22 int debug;
23 JArgs args;
24
25 try {
26
27 JParser<> zap("Example program to test file name handling.");
28
29 zap['f'] = make_field(file_name, "input file name") = "";
30 zap['d'] = make_field(debug, "debug level") = 1, 0, 2, 3; // default value, and possible values
31
32 args = zap(argc, argv);
33 }
34 catch(const exception &error) {
35 FATAL(error.what() << endl);
36 }
37
38 cout << "file name " << getFilename(argv[0]) << endl;
39 cout << "path " << getPath(argv[0]) << endl;
40 cout << "file name " << getFilename(getPath(argv[0]), getFilename(argv[0])) << endl;
41
42 if (file_name != "") {
43
44 cout << "file name " << file_name << endl;
45 cout << "path " << getPath(file_name) << endl;
46 cout << "extension " << getFilenameExtension(file_name) << endl;
47 cout << "protocol " << getProtocol(file_name) << endl;
48 }
49
50 if (!args.empty()) {
51 cout << "Pending arguments" << endl;
52 cout << args << endl;
53 }
54}
General purpose messaging.
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:72
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
Auxiliary methods for handling file names, type names and environment.
int main(int argc, char **argv)
Definition Jeep.cc:16
Data structure to store command line arguments.
Definition JArgs.hh:26
Utility class to parse command line options.
Definition JParser.hh:1698
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).