aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-04-03 00:52:31 +0200
committerJay Berkenbilt <ejb@ql.org>2020-04-03 18:16:24 +0200
commit07afb668b14e4b71062b76b1c8fbfb1d88e1d425 (patch)
tree88dd377ca3d847fe9114317fe0647149fb01de7f
parent89f19b709916ed26d7499761140549a02c36d3f5 (diff)
downloadqpdf-07afb668b14e4b71062b76b1c8fbfb1d88e1d425.tar.zst
Performance: remove indirection through Members for QPDFObject
-rw-r--r--include/qpdf/QPDFObject.hh22
-rw-r--r--libqpdf/QPDFObject.cc27
2 files changed, 15 insertions, 34 deletions
diff --git a/include/qpdf/QPDFObject.hh b/include/qpdf/QPDFObject.hh
index 319da7ab..fa4452e0 100644
--- a/include/qpdf/QPDFObject.hh
+++ b/include/qpdf/QPDFObject.hh
@@ -24,7 +24,6 @@
#include <qpdf/DLL.h>
#include <qpdf/Types.h>
-#include <qpdf/PointerHolder.hh>
#include <qpdf/JSON.hh>
#include <string>
@@ -100,21 +99,12 @@ class QPDFObject
virtual void releaseResolved() {}
private:
- QPDFObject(QPDFObject const&);
- QPDFObject& operator=(QPDFObject const&);
- class Members
- {
- friend class QPDFObject;
- public:
- QPDF_DLL
- ~Members();
- private:
- Members();
- QPDF* owning_qpdf;
- std::string object_description;
- qpdf_offset_t parsed_offset;
- };
- PointerHolder<Members> m;
+ QPDFObject(QPDFObject const&) = delete;
+ QPDFObject& operator=(QPDFObject const&) = delete;
+
+ QPDF* owning_qpdf;
+ std::string object_description;
+ qpdf_offset_t parsed_offset;
};
#endif // QPDFOBJECT_HH
diff --git a/libqpdf/QPDFObject.cc b/libqpdf/QPDFObject.cc
index 679e62d3..39eb01a2 100644
--- a/libqpdf/QPDFObject.cc
+++ b/libqpdf/QPDFObject.cc
@@ -1,49 +1,40 @@
#include <qpdf/QPDFObject.hh>
-QPDFObject::Members::Members() :
+QPDFObject::QPDFObject() :
owning_qpdf(0),
parsed_offset(-1)
{
}
-QPDFObject::Members::~Members()
-{
-}
-
-QPDFObject::QPDFObject() :
- m(new Members)
-{
-}
-
void
QPDFObject::setDescription(QPDF* qpdf, std::string const& description)
{
- this->m->owning_qpdf = qpdf;
- this->m->object_description = description;
+ this->owning_qpdf = qpdf;
+ this->object_description = description;
}
bool
QPDFObject::getDescription(QPDF*& qpdf, std::string& description)
{
- qpdf = this->m->owning_qpdf;
- description = this->m->object_description;
- return this->m->owning_qpdf != 0;
+ qpdf = this->owning_qpdf;
+ description = this->object_description;
+ return this->owning_qpdf != 0;
}
bool
QPDFObject::hasDescription()
{
- return this->m->owning_qpdf != 0;
+ return this->owning_qpdf != 0;
}
void
QPDFObject::setParsedOffset(qpdf_offset_t offset)
{
- this->m->parsed_offset = offset;
+ this->parsed_offset = offset;
}
qpdf_offset_t
QPDFObject::getParsedOffset()
{
- return this->m->parsed_offset;
+ return this->parsed_offset;
}