-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathParser.h
More file actions
51 lines (40 loc) · 1.23 KB
/
Parser.h
File metadata and controls
51 lines (40 loc) · 1.23 KB
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
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: Parser.h
* Author: tg
*
* Created on June 12, 2020, 9:51 AM
*/
#ifndef PARSER_H
#define PARSER_H
#include <string>
class Parser {
private:
short verbose_;
float gsl_steps_;
float gsl_tolerance_;
float gsl_epsgrad_;
int gsl_maxIter_;
char csystem_;
std::string insfile_;
char optimAlgorithm_;
template <typename T> bool getoption(const std::string& option,
const std::string& opt, T& optval, int& idx, int argc,
const char* const argv[]);
public:
Parser(int argc, const char* const argv[]);
~Parser(){};
short verbose() const { return verbose_; }
float gsl_steps() const { return gsl_steps_; }
float gsl_tolerance() const { return gsl_tolerance_; }
float gsl_epsgrad () const { return gsl_epsgrad_; }
int gsl_maxIter() const { return gsl_maxIter_; }
char crystalSystem() const { return csystem_; }
std::string insfile() const { return insfile_; }
char optimAlgorithm() const { return optimAlgorithm_; }
};
#endif /* PARSER_H */