#pragma once #include #include #include using namespace std; enum Stackitemtype{ SIT_INT, SIT_STR, SIT_ARR }; struct Stackitem{ Stackitemtype type=SIT_INT; string strval; int intval=0; vector arrval; Stackitem(void); Stackitem(int _i); //int init Stackitem(const string&); //string init Stackitem(const vector&); //array init Stackitem(const Stackitem&); Stackitem(Stackitem &&other); Stackitem& operator=(const Stackitem&); Stackitem& operator=(Stackitem &&other); explicit operator bool(void) const; bool operator==(const Stackitem &other) const; bool operator!=(const Stackitem &other) const; }; string to_string(const Stackitem&); vector tokenise(istream &stream); void run(vector T);