#pragma once #include #include #include #include namespace scwx { namespace wsr88d { namespace rpg { class RadarCodedMessageImpl; class RadarCodedMessage : public Level3Message { public: explicit RadarCodedMessage(); ~RadarCodedMessage(); RadarCodedMessage(const RadarCodedMessage&) = delete; RadarCodedMessage& operator=(const RadarCodedMessage&) = delete; RadarCodedMessage(RadarCodedMessage&&) noexcept; RadarCodedMessage& operator=(RadarCodedMessage&&) noexcept; std::shared_ptr description_block() const override; bool Parse(std::istream& is) override; static std::shared_ptr Create(Level3MessageHeader&& header, std::istream& is); private: std::unique_ptr p; }; } // namespace rpg } // namespace wsr88d } // namespace scwx