Commit d33e5a9ccd9daface1e5cc9dc744d86df674ddfe
1 parent
9a6cfda2
Refactor QPDFFormFieldObjectHelper: simplify Members handling by using std::shar…
…ed_ptr and forward declaration.
Showing
2 changed files
with
9 additions
and
13 deletions
include/qpdf/QPDFFormFieldObjectHelper.hh
| ... | ... | @@ -193,17 +193,7 @@ class QPDFFormFieldObjectHelper: public QPDFObjectHelper |
| 193 | 193 | void generateTextAppearance(QPDFAnnotationObjectHelper&); |
| 194 | 194 | QPDFObjectHandle getFontFromResource(QPDFObjectHandle resources, std::string const& font_name); |
| 195 | 195 | |
| 196 | - class Members | |
| 197 | - { | |
| 198 | - friend class QPDFFormFieldObjectHelper; | |
| 199 | - | |
| 200 | - public: | |
| 201 | - ~Members() = default; | |
| 202 | - | |
| 203 | - private: | |
| 204 | - Members() = default; | |
| 205 | - Members(Members const&) = delete; | |
| 206 | - }; | |
| 196 | + class Members; | |
| 207 | 197 | |
| 208 | 198 | std::shared_ptr<Members> m; |
| 209 | 199 | }; | ... | ... |
libqpdf/QPDFFormFieldObjectHelper.cc
| ... | ... | @@ -10,17 +10,23 @@ |
| 10 | 10 | #include <qpdf/QUtil.hh> |
| 11 | 11 | #include <cstdlib> |
| 12 | 12 | |
| 13 | +#include <memory> | |
| 14 | + | |
| 13 | 15 | using namespace qpdf; |
| 14 | 16 | |
| 17 | +class QPDFFormFieldObjectHelper::Members | |
| 18 | +{ | |
| 19 | +}; | |
| 20 | + | |
| 15 | 21 | QPDFFormFieldObjectHelper::QPDFFormFieldObjectHelper(QPDFObjectHandle oh) : |
| 16 | 22 | QPDFObjectHelper(oh), |
| 17 | - m(new Members()) | |
| 23 | + m(std::make_shared<Members>()) | |
| 18 | 24 | { |
| 19 | 25 | } |
| 20 | 26 | |
| 21 | 27 | QPDFFormFieldObjectHelper::QPDFFormFieldObjectHelper() : |
| 22 | 28 | QPDFObjectHelper(QPDFObjectHandle::newNull()), |
| 23 | - m(new Members()) | |
| 29 | + m(std::make_shared<Members>()) | |
| 24 | 30 | { |
| 25 | 31 | } |
| 26 | 32 | ... | ... |