highlighter application  1.1
HCE project utils : highlighter
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
InDataStruct.hpp
Go to the documentation of this file.
1 
15 #ifndef ID_DATA_STRUCT_HPP
16 #define ID_DATA_STRUCT_HPP
17 
18 #include <stdexcept>
19 #include <string>
20 #include <vector>
21 
22 enum class SearchType : std::uint8_t {ST_SINGLE = 0, ST_STRICKT = 1, ST_NO_STRICKT = 2};
23 
25 {
26  public:
28  {
29  std::string beginMarker;
30  std::string endMarker;
31  unsigned int maxNumber;
32  std::string delimiters;
33  std::string acronyms;
36  unsigned int timeout;
38  {
39  }
40  };
41  private:
42  std::vector<std::vector<std::pair<SearchType, std::string> > > searchStrings;
43  std::vector<std::string> contents;
44  std::vector<std::string> wcaches;
45  std::vector<InternalInDataParams> paramsList;
46  bool sendCacheBack;
47  public:
48  InDataStruct():sendCacheBack(false) {}
49  void setSearchStrings(std::vector<std::vector<std::pair<SearchType, std::string> > > &_searchStrings)
50  {
51  searchStrings = _searchStrings;
52  }
53  void addContent(std::string &content)
54  {
55  contents.push_back(content);
56  }
57  void addContent(std::string &&content)
58  {
59  contents.push_back(content);
60  }
61  void addWcache(std::string &wcache)
62  {
63  wcaches.push_back(wcache);
64  }
65  void addWcache(std::string &&wcache)
66  {
67  wcaches.push_back(wcache);
68  }
70  {
71  paramsList.push_back(params);
72  }
73  void setSendCacheBack(bool _sendCacheBack)
74  {
75  sendCacheBack = _sendCacheBack;
76  }
77 
78  std::vector<std::vector<std::pair<SearchType, std::string> > > &getSearchStrings()
79  {
80  return searchStrings;
81  }
82  std::string &getContent(unsigned int i)
83  {
84  if(contents.size() <= i)
85  {
86  throw std::runtime_error(">>> Index out of range");
87  }
88  return contents[i];
89  }
90  std::string &getWcache(unsigned int i)
91  {
92  if(wcaches.size() <= i)
93  {
94  throw std::runtime_error(">>> Index out of range");
95  }
96  return wcaches[i];
97  }
99  {
100  if(paramsList.size() <= i)
101  {
102  throw std::runtime_error(">>> Index out of range");
103  }
104  return paramsList[i];
105  }
106  unsigned int getContentsCount() const
107  {
108  return contents.size();
109  }
110  unsigned int getParamsCount() const
111  {
112  return paramsList.size();
113  }
114  unsigned int getWcachesCount() const
115  {
116  return wcaches.size();
117  }
118  bool getSendCacheBack() const
119  {
120  return sendCacheBack;
121  }
122 
124 };
125 
126 #endif