#pragma once #include #include #include namespace scwx { namespace wsr88d { namespace rpg { class UnlinkedVectorPacketImpl; class UnlinkedVectorPacket : public Packet { public: explicit UnlinkedVectorPacket(); ~UnlinkedVectorPacket(); UnlinkedVectorPacket(const UnlinkedVectorPacket&) = delete; UnlinkedVectorPacket& operator=(const UnlinkedVectorPacket&) = delete; UnlinkedVectorPacket(UnlinkedVectorPacket&&) noexcept; UnlinkedVectorPacket& operator=(UnlinkedVectorPacket&&) noexcept; uint16_t packet_code() const; uint16_t length_of_block() const; std::optional value_of_vector() const; size_t data_size() const override; bool Parse(std::istream& is) override; private: std::unique_ptr p; }; } // namespace rpg } // namespace wsr88d } // namespace scwx