#pragma once #include #include #include #include namespace mumlib { class VarIntException : public MumlibException { public: VarIntException(std::string message) : MumlibException(message) { } }; class VarInt { public: VarInt(uint8_t *encoded); VarInt(std::vector encoded); VarInt(int64_t value); int64_t getValue() const { return this->value; } std::vector getEncoded() const; private: const int64_t value; int64_t parseVariant(const uint8_t *buffer); }; }