Advertisement
Mr-A

AScope.h

Oct 24th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.63 KB | None | 0 0
  1. #ifndef ASCOPE_H
  2. #define ASCOPE_H
  3.  
  4. #include <vector>
  5. #include <string>
  6. #include <iostream>
  7.  
  8. template < typename numeraltype >
  9. class AScope
  10. {
  11. public:
  12.     AScope();
  13.     ~AScope();
  14.  
  15.     void setFunctionParameterSeperator(const char * seperator);
  16.     void setFunctionParameterBrackets(const char * openning, const char * closing);
  17.  
  18.     void addVariable(const char* name, numeraltype* value);
  19.     void addVariables(std::vector<const char*> & names, std::vector<numeraltype*> * values);
  20.  
  21.     void addFunction0(const char* name, numeraltype (*func)());
  22.     void addFunction1(const char* name, numeraltype (*func)(numeraltype));
  23.     void addFunction2(const char* name, numeraltype (*func)(numeraltype, numeraltype));
  24.     void addFunction3(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype));
  25.     void addFunction4(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype, numeraltype));
  26.     void addFunction5(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype, numeraltype, numeraltype));
  27.  
  28.     numeraltype getVariableValue(int var_index);
  29.  
  30.     numeraltype getFunction0Value(int func_index);
  31.     numeraltype getFunction1Value(int func_index, numeraltype);
  32.     numeraltype getFunction2Value(int func_index, numeraltype, numeraltype);
  33.     numeraltype getFunction3Value(int func_index, numeraltype, numeraltype, numeraltype);
  34.     numeraltype getFunction4Value(int func_index, numeraltype, numeraltype, numeraltype, numeraltype);
  35.     numeraltype getFunction5Value(int func_index, numeraltype, numeraltype, numeraltype, numeraltype, numeraltype);
  36.  
  37.     void setVariableValue(int var_index, numeraltype new_value);
  38.  
  39.  
  40.     std::string getFuncParameter(std::string line, int number);
  41.  
  42.     std::vector<const char *> _variable_names;
  43.     std::vector<const char *> _function0_names, _function1_names, _function2_names, _function3_names, _function4_names, _function5_names;
  44.     std::string _parameter_list_open, _parameter_list_close;
  45.  
  46. private:
  47.     std::string _parameter_seperator;
  48.     std::vector<numeraltype*> _variable_pointers;
  49.  
  50.     std::vector<numeraltype (*)() > _function0_pointers;
  51.     std::vector<numeraltype (*)(numeraltype) > _function1_pointers;
  52.     std::vector<numeraltype (*)(numeraltype, numeraltype) > _function2_pointers;
  53.     std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype) > _function3_pointers;
  54.     std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype, numeraltype) > _function4_pointers;
  55.     std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype, numeraltype, numeraltype) > _function5_pointers;
  56.  
  57. };
  58.  
  59. #endif // ASCOPE_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement