Raspberry Pi Weighting Control System
This project serves as a simple weighting control system, that was realized as a Bachelor Thesis
utility.h
Go to the documentation of this file.
1 #ifndef UTILITY_H
2 #define UTILITY_H
3 
4 #include <vector>
5 #include <string>
6 #include <algorithm>
7 #include <cctype>
8 #include <locale>
9 
10 
16 class input_parser {
17  public:
18  input_parser (int &argc, char **argv);
20  const std::string& get_cmd_option(const std::string &option) const;
22  bool cmd_option_exists(const std::string &option) const;
23  private:
24  std::vector<std::string> tokens;
25 };
26 
27 // https://stackoverflow.com/questions/216823/how-to-trim-a-stdstring
29 static inline void ltrim(std::string &s) {
30  s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](unsigned char ch) {
31  return !std::isspace(ch);
32  }));
33 }
34 
36 static inline void rtrim(std::string &s) {
37  s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) {
38  return !std::isspace(ch);
39  }).base(), s.end());
40 }
41 
43 static inline void trim(std::string &s) {
44  ltrim(s);
45  rtrim(s);
46 }
47 
48 #endif
Simple argument parser.
Definition: utility.h:16
const std::string & get_cmd_option(const std::string &option) const
Definition: utility.cpp:12
input_parser(int &argc, char **argv)
Definition: utility.cpp:6
bool cmd_option_exists(const std::string &option) const
Definition: utility.cpp:25