2
* Declaration of all objects belonging to this version of
3
* the valid names text file
7
* copyright by Lothar Richter
10
#ifndef NT_VALID_NAMEPARSER
11
#define NT_VALID_NAMEPARSER
23
namespace validNames {
25
typedef std::list<std::string> LineSet;
26
typedef LineSet* LineSetPtr;
28
typedef std::vector<std::string> TokL;
29
typedef TokL *TokLPtr;
32
VALGEN, HETGEN, HOMGEN, RENGEN, CORGEN,
33
VALSPEC, HETSPEC, HOMSPEC, RENSPEC, CORSPEC,
34
NOTYPE, VAL, HET, HOM, REN, COR
42
std::string firstspec;
44
std::string secondgen;
45
std::string secondspec;
46
std::string secondsub;
49
Desco(DESCT type_ , bool isCorrected_,
50
std::string firstgen_, std::string firstspec_, std::string firstsub_,
51
std::string secondgen_, std::string secondspec_, std::string secondsub_)
52
: type(type_) , isCorrected(isCorrected_)
53
, firstgen(firstgen_) , firstspec(firstspec_) , firstsub(firstsub_)
54
, secondgen(secondgen_) , secondspec(secondspec_) , secondsub(secondsub_)
57
std::string getFirstName();
58
std::string getSecondName();
59
DESCT getType() const { return type; }
65
LineSet* readFromFile(const char* infile, LineSet* listOfLines);
67
TokLPtr tokenize(const std::string& description, TokLPtr tokenLP);
69
Desco determineType(const std::string& descriptionString);
71
bool isUpperCase(const std::string& input);
72
}; /* end namespace */