diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-06-16 18:45:04 +0200 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-06-27 18:47:02 +0200 |
commit | f0a8178091dfc87bbf9a6751f8fedf007e8eb144 (patch) | |
tree | 9a4b3af6d96a274016f0feecbc5deecb345c5f4f /libqpdf/QPDF_String.cc | |
parent | 5aa8225f493dc3c3171662fecc8a9ff5d0a16feb (diff) | |
download | qpdf-f0a8178091dfc87bbf9a6751f8fedf007e8eb144.tar.zst |
Refactor QPDFObject creation and cloning
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
Diffstat (limited to 'libqpdf/QPDF_String.cc')
-rw-r--r-- | libqpdf/QPDF_String.cc | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/libqpdf/QPDF_String.cc b/libqpdf/QPDF_String.cc index 4d45d851..b038366b 100644 --- a/libqpdf/QPDF_String.cc +++ b/libqpdf/QPDF_String.cc @@ -1,6 +1,5 @@ #include <qpdf/QPDF_String.hh> -#include <qpdf/QTC.hh> #include <qpdf/QUtil.hh> // DO NOT USE ctype -- it is locale dependent for some things, and @@ -26,14 +25,26 @@ QPDF_String::QPDF_String(std::string const& val) : { } -QPDF_String* -QPDF_String::new_utf16(std::string const& utf8_val) +std::shared_ptr<QPDFObject> +QPDF_String::create(std::string const& val) +{ + return do_create(new QPDF_String(val)); +} + +std::shared_ptr<QPDFObject> +QPDF_String::create_utf16(std::string const& utf8_val) { std::string result; if (!QUtil::utf8_to_pdf_doc(utf8_val, result, '?')) { result = QUtil::utf8_to_utf16(utf8_val); } - return new QPDF_String(result); + return do_create(new QPDF_String(result)); +} + +std::shared_ptr<QPDFObject> +QPDF_String::shallowCopy() +{ + return create(val); } std::string |