#ifndef QPDF_STRING_HH #define QPDF_STRING_HH #include // QPDF_Strings may included embedded null characters. class QPDF_String: public QPDFValue { friend class QPDFWriter; public: ~QPDF_String() override = default; static std::shared_ptr create(std::string const& val); static std::shared_ptr create_utf16(std::string const& utf8_val); std::shared_ptr copy(bool shallow = false) override; std::string unparse() override; std::string unparse(bool force_binary); void writeJSON(int json_version, JSON::Writer& p) override; std::string getUTF8Val() const; std::string getStringValue() const override { return val; } private: QPDF_String(std::string const& val); bool useHexString() const; std::string val; }; #endif // QPDF_STRING_HH