STORMM Source Documentation
Loading...
Searching...
No Matches
namelist_enumerators.h
1// -*-c++-*-
2#ifndef STORMM_NAMELIST_ENUMERATORS_H
3#define STORMM_NAMELIST_ENUMERATORS_H
4
5#include <string>
6#include "copyright.h"
7
8namespace stormm {
9namespace namelist {
10
12enum class NamelistType {
13 BOOLEAN, INTEGER, REAL, STRING, STRUCT
14};
15
18enum class InputRepeats {
19 NO, YES
20};
21
25enum class DefaultIsObligatory {
26 NO, YES
27};
28
30enum class InputStatus {
31 USER_SPECIFIED, DEFAULT, MISSING
32};
33
36enum class RestraintAnchoring {
37 ATOMMASK,
38 INDICES,
39 MIXED,
40 UNKNOWN
41};
42
44enum class KeyRequirement {
45 OPTIONAL,
46 REQUIRED,
47 BOGUS
50};
51
53enum class NamelistIntroduction {
54 HEADER,
55 COMPACT_HEADER,
57 BLANK_LINE,
59 NONE
60};
61
63enum class DayOfTheWeek {
64 SUN = 0,
65 MON,
66 TUE,
67 WED,
68 THU,
69 FRI,
70 SAT
71};
72
78std::string getEnumerationName(NamelistType input);
79std::string getEnumerationName(InputRepeats input);
80std::string getEnumerationName(DefaultIsObligatory input);
81std::string getEnumerationName(InputStatus input);
82std::string getEnumerationName(RestraintAnchoring input);
83std::string getEnumerationName(KeyRequirement input);
84std::string getEnumerationName(NamelistIntroduction input);
85std::string getEnumerationName(DayOfTheWeek input);
87
91KeyRequirement translateKeyRequirement(const std::string &input);
92
96DayOfTheWeek translateDayOfTheWeek(const std::string &input);
97
98} // namespace namelist
99} // namespace stormm
100
101#endif