HOPS
HOPS class reference
MHO_ControlDefinitions.hh
Go to the documentation of this file.
1 #ifndef MHO_ControlElements_HH__
2 #define MHO_ControlElements_HH__
3 
4 #include <string>
5 #include <vector>
6 
9 
10 namespace hops
11 {
12 
24 struct MHO_Token
25 {
26  std::string fValue;
27  std::size_t fLineNumber;
28 };
29 
34 {
35  std::size_t fLineNumber;
36  std::string fContents;
37  std::vector< MHO_Token > fTokens;
38 };
39 
44 {
45  std::size_t fStartLineNumber;
46  std::string fKeyword;
47  std::vector< MHO_Token > fTokens;
48 };
49 
51 {
63 };
64 
69 {
70  public:
73 
80  static std::string GetFormatDirectory();
87  static std::vector< std::string > GetKeywordNames();
88 
95  static std::string WhitespaceDelim() { return std::string(" \t\r\n"); };
96 
103  static std::string CommentFlag() { return std::string("*"); };
104 
112  static control_element_type DetermineControlType(std::string etype);
113 
120  static mho_json GetControlFormat();
121 
122  private:
123  //mho_json fControlFormat;
124 };
125 
126 } // namespace hops
127 
128 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_ControlDefinitions.
Definition: MHO_ControlDefinitions.hh:69
virtual ~MHO_ControlDefinitions()
Definition: MHO_ControlDefinitions.hh:72
static std::string CommentFlag()
Returns a string containing an asterisk (*).
Definition: MHO_ControlDefinitions.hh:103
static control_element_type DetermineControlType(std::string etype)
Determines control type based on input string type.
Definition: MHO_ControlDefinitions.cc:36
static mho_json GetControlFormat()
Getter for composite/complete control format as a json object.
Definition: MHO_ControlDefinitions.cc:85
MHO_ControlDefinitions()
Definition: MHO_ControlDefinitions.hh:71
static std::vector< std::string > GetKeywordNames()
Getter for control keyword names.
Definition: MHO_ControlDefinitions.cc:16
static std::string WhitespaceDelim()
Returns a string containing whitespace characters.
Definition: MHO_ControlDefinitions.hh:95
static std::string GetFormatDirectory()
Getter for the control (json) format directory.
Definition: MHO_ControlDefinitions.cc:9
Definition: MHO_ChannelLabeler.hh:17
std::vector< MHO_Token > fTokens
Definition: MHO_ControlDefinitions.hh:47
std::string fValue
Definition: MHO_ControlDefinitions.hh:26
std::size_t fStartLineNumber
Definition: MHO_ControlDefinitions.hh:45
std::size_t fLineNumber
Definition: MHO_ControlDefinitions.hh:35
std::string fKeyword
Definition: MHO_ControlDefinitions.hh:46
std::vector< MHO_Token > fTokens
Definition: MHO_ControlDefinitions.hh:37
std::size_t fLineNumber
Definition: MHO_ControlDefinitions.hh:27
control_element_type
Definition: MHO_ControlDefinitions.hh:51
@ control_list_string_type
Definition: MHO_ControlDefinitions.hh:56
@ control_conditional_type
Definition: MHO_ControlDefinitions.hh:59
@ control_int_type
Definition: MHO_ControlDefinitions.hh:52
@ control_list_real_type
Definition: MHO_ControlDefinitions.hh:58
@ control_compound_type
Definition: MHO_ControlDefinitions.hh:60
@ control_string_type
Definition: MHO_ControlDefinitions.hh:55
@ control_list_int_type
Definition: MHO_ControlDefinitions.hh:53
@ control_fixed_length_list_string_type
Definition: MHO_ControlDefinitions.hh:57
@ control_bool_type
Definition: MHO_ControlDefinitions.hh:61
@ control_real_type
Definition: MHO_ControlDefinitions.hh:54
@ control_unknown_type
Definition: MHO_ControlDefinitions.hh:62
std::string fContents
Definition: MHO_ControlDefinitions.hh:36
Class MHO_ControlLine.
Definition: MHO_ControlDefinitions.hh:34
Class MHO_ControlStatement.
Definition: MHO_ControlDefinitions.hh:44
Class MHO_Token.
Definition: MHO_ControlDefinitions.hh:25