#pragma once #include #include #include namespace scwx { namespace awips { class UgcImpl; class Ugc { public: explicit Ugc(); ~Ugc(); Ugc(const Ugc&) = delete; Ugc& operator=(const Ugc&) = delete; Ugc(Ugc&&) noexcept; Ugc& operator=(Ugc&&) noexcept; std::vector states() const; std::vector fips_ids() const; std::string product_expiration() const; bool Parse(const std::vector& ugcString); private: std::unique_ptr p; }; } // namespace awips } // namespace scwx