Commit d33e5a9ccd9daface1e5cc9dc744d86df674ddfe

Authored by m-holger
1 parent 9a6cfda2

Refactor QPDFFormFieldObjectHelper: simplify Members handling by using std::shar…

…ed_ptr and forward declaration.
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  
... ...