#ifndef PARSEE_RESULT_H #define PARSEE_RESULT_H #include class Token; class ValueType; using namespace std; enum class ParseeResultKind { TOKEN, VALUE_TYPE, }; class ParseeResult { private: ParseeResultKind kind; shared_ptr token; shared_ptr valueType; int tokensCount; ParseeResult(); public: static ParseeResult tokenResult(shared_ptr token); static ParseeResult valueTypeResult(shared_ptr valueType, int tokensCount); ParseeResultKind getKind(); shared_ptr getToken(); shared_ptr getValueType(); int getTokensCount(); }; #endif