forked from Conedy/Conedy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommandLineArguments.h
116 lines (82 loc) · 1.67 KB
/
commandLineArguments.h
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#ifndef commanLineArguments_h
#define commanLineArguments_h commanLineArguments_h
#include <vector>
#include <string>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <sstream>
using namespace std;
//! Klasse, die die Kommandozeilen-Argumente, mit denen Conedy aufgerufen wurde speichert.
class commandLineArguments
{
public:
static vector <string> arg;
public:
static void initialize ( int argc,char **argv )
{
string dummy;
for (int i = 0; i< argc; i++)
{
dummy = argv[i];
arg.push_back(dummy);
}
if (argc == 1)
arg.push_back("noFilename");
}
static string getStringArg(unsigned int argNum)
{
if (argNum < arg.size())
return arg[argNum];
else
{
cerr << "FEHLER: Argumentennummer zu groß! [0:" << arg.size() << ")" << endl;
return "";
}
}
static double getDoubleArg(unsigned int argNum)
{
istringstream isstr;
if (argNum < arg.size())
{
isstr.str(arg[argNum]);
double temp;
isstr >> temp;
return temp;
}
else
{
cerr << "FEHLER: Argumentennummer zu groß! [0:" << arg.size() << ")" << endl;
return 0.0;
}
}
};
//! Klasse, die für Neurocondor eine eindeutige Jobnummer generiert. Die Zahl ist im Homeverzeichnis in der Datei .conedy gespeichert.
class uniqueNumber
{
public:
static int number;
static void initialize()
{
#if CONDOR
stringstream ss;
ss << getenv("HOME")<< "/.conedy";
ifstream in(ss.str().c_str());
if (!in.is_open())
{
number = 0;
}
else
{
in >> number;
number++;
in.close();
}
ofstream out(ss.str().c_str());
out << number;
out.close();
#endif
}
};
#endif