#ifndef PARSER_DATA_H #define PARSER_DATA_H #include #include class ParserData { public: ParserData() { count = 0; } ~ParserData() { } void push(const std::string& s) { stack.push_back(s); } void pop() { stack.pop_back(); } void setState(int i) { state = i; ++count; } int getState() { return state; } int getCount() { return count; } std::vector getStack() { return stack; } std::string getElement() { return (stack.empty()) ? "" : stack.at(stack.size() - 1); } std::string getParent() { return (stack.size() < 2) ? "" : stack.at(stack.size() - 2); } private: int state, count; std::vector stack; }; #endif