SDL2lazy
SlValueParser.h
Go to the documentation of this file.
1 // part of SDL2lazy
2 // author: Ulrike Hager
3 
8 #ifndef SLVALUEPARSER_H
9 #define SLVALUEPARSER_H
10 
11 #include <string>
12 #include <vector>
13 #include <queue>
14 
15 
16 class SlFormulaItem;
17 
22 {
23  public:
26  SlValueParser(int width, int height);
38  SlValueParser(const SlValueParser& toCopy);
39 
43  void doubleFromString(const std::string& value, double& i);
47  void parseFormula(const std::vector<std::string>& stringValues, unsigned int& i, double& value);
50  void setDimensions(const int& width, const int& height);
54  void stringsToDoubles(const std::vector<std::string>& stringValues, double* values, unsigned int length );
57  template<typename T>
58  void stringsToNumbers(const std::vector<std::string>& stringValues, T *array, unsigned int length );
61  bool stringsToRenderOptions(const std::vector<std::string>& stringValues, int& options );
64  int screenWidth() {return screen_width_;}
67  int screenHeight() {return screen_height_;}
68 
69  private:
72  int screen_width_ = 0;
75  int screen_height_ = 0;
76 
80  std::string assembleFormula(const std::vector<std::string>& stringValues, unsigned int& i);
84  double calculateFormula(std::queue<SlFormulaItem>& outputQueue);
87  SlFormulaItem getNextItem(std::string& formula);
90  std::queue<SlFormulaItem> shuntFormula(std::string& formula);
91 
92 };
93 
96 #include "SlValueParser.hpp"
97 
98 #endif /* SLVALUEPARSER_H */
SlValueParser()
Definition: SlValueParser.h:29
int screen_height_
Definition: SlValueParser.h:75
int screenWidth()
Definition: SlValueParser.h:64
SlValueParser & operator=(const SlValueParser &rhs)
Definition: SlValueParser.cc:41
std::string assembleFormula(const std::vector< std::string > &stringValues, unsigned int &i)
Definition: SlValueParser.cc:51
int screenHeight()
Definition: SlValueParser.h:67
void setDimensions(const int &width, const int &height)
Definition: SlValueParser.cc:257
void parseFormula(const std::vector< std::string > &stringValues, unsigned int &i, double &value)
Definition: SlValueParser.cc:196
double calculateFormula(std::queue< SlFormulaItem > &outputQueue)
Definition: SlValueParser.cc:82
Definition: SlValueParser.h:21
Definition: SlFormulaItem.h:15
void stringsToNumbers(const std::vector< std::string > &stringValues, T *array, unsigned int length)
Definition: SlValueParser.hpp:14
std::queue< SlFormulaItem > shuntFormula(std::string &formula)
Definition: SlValueParser.cc:207
SlFormulaItem getNextItem(std::string &formula)
Definition: SlValueParser.cc:165
bool stringsToRenderOptions(const std::vector< std::string > &stringValues, int &options)
Definition: SlValueParser.cc:287
void doubleFromString(const std::string &value, double &i)
Definition: SlValueParser.cc:137
~SlValueParser()
Definition: SlValueParser.h:32
int screen_width_
Definition: SlValueParser.h:72
void stringsToDoubles(const std::vector< std::string > &stringValues, double *values, unsigned int length)
Definition: SlValueParser.cc:266