Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef ASCOPE_H
- #define ASCOPE_H
- #include <vector>
- #include <string>
- #include <iostream>
- template < typename numeraltype >
- class AScope
- {
- public:
- AScope();
- ~AScope();
- void setFunctionParameterSeperator(const char * seperator);
- void setFunctionParameterBrackets(const char * openning, const char * closing);
- void addVariable(const char* name, numeraltype* value);
- void addVariables(std::vector<const char*> & names, std::vector<numeraltype*> * values);
- void addFunction0(const char* name, numeraltype (*func)());
- void addFunction1(const char* name, numeraltype (*func)(numeraltype));
- void addFunction2(const char* name, numeraltype (*func)(numeraltype, numeraltype));
- void addFunction3(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype));
- void addFunction4(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype, numeraltype));
- void addFunction5(const char* name, numeraltype (*func)(numeraltype, numeraltype, numeraltype, numeraltype, numeraltype));
- numeraltype getVariableValue(int var_index);
- numeraltype getFunction0Value(int func_index);
- numeraltype getFunction1Value(int func_index, numeraltype);
- numeraltype getFunction2Value(int func_index, numeraltype, numeraltype);
- numeraltype getFunction3Value(int func_index, numeraltype, numeraltype, numeraltype);
- numeraltype getFunction4Value(int func_index, numeraltype, numeraltype, numeraltype, numeraltype);
- numeraltype getFunction5Value(int func_index, numeraltype, numeraltype, numeraltype, numeraltype, numeraltype);
- void setVariableValue(int var_index, numeraltype new_value);
- std::string getFuncParameter(std::string line, int number);
- std::vector<const char *> _variable_names;
- std::vector<const char *> _function0_names, _function1_names, _function2_names, _function3_names, _function4_names, _function5_names;
- std::string _parameter_list_open, _parameter_list_close;
- private:
- std::string _parameter_seperator;
- std::vector<numeraltype*> _variable_pointers;
- std::vector<numeraltype (*)() > _function0_pointers;
- std::vector<numeraltype (*)(numeraltype) > _function1_pointers;
- std::vector<numeraltype (*)(numeraltype, numeraltype) > _function2_pointers;
- std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype) > _function3_pointers;
- std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype, numeraltype) > _function4_pointers;
- std::vector<numeraltype (*)(numeraltype, numeraltype, numeraltype, numeraltype, numeraltype) > _function5_pointers;
- };
- #endif // ASCOPE_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement