aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-04-09 20:49:10 +0200
committerJay Berkenbilt <ejb@ql.org>2022-04-09 23:33:29 +0200
commitba0ef7a124e9aecc2d0113598c851bae4710b887 (patch)
tree5dec35b3d51effc43e55ff3ba0b1ca3f274eea17 /examples
parenta68703b07e928be0eeb909c0e777e13e88cbf86d (diff)
downloadqpdf-ba0ef7a124e9aecc2d0113598c851bae4710b887.tar.zst
Replace PointerHolder with std::shared_ptr in the rest of the code
Increase to POINTERHOLDER_TRANSITION=3 patrepl s/PointerHolder/std::shared_ptr/g **/*.cc **/*.hh patrepl s/make_pointer_holder/std::make_shared/g **/*.cc patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g **/*.cc patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh git restore include/qpdf/PointerHolder.hh git restore libtests/pointer_holder.cc cleanpatch ./format-code
Diffstat (limited to 'examples')
-rw-r--r--examples/pdf-create.cc6
-rw-r--r--examples/pdf-custom-filter.cc12
-rw-r--r--examples/pdf-filter-tokens.cc5
-rw-r--r--examples/pdf-invert-images.cc12
4 files changed, 18 insertions, 17 deletions
diff --git a/examples/pdf-create.cc b/examples/pdf-create.cc
index b070b3aa..a7b7557e 100644
--- a/examples/pdf-create.cc
+++ b/examples/pdf-create.cc
@@ -176,7 +176,7 @@ add_page(
// with /FlateDecode if we don't provide any other form of
// compression.
ImageProvider* p = new ImageProvider(color_space, filter);
- PointerHolder<QPDFObjectHandle::StreamDataProvider> provider(p);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p);
size_t width = p->getWidth();
size_t height = p->getHeight();
QPDFObjectHandle image = QPDFObjectHandle::newStream(&pdf);
@@ -296,10 +296,10 @@ check(
// Check image data
auto actual_data = image.getStreamData(qpdf_dl_all);
ImageProvider* p = new ImageProvider(desired_color_space, "null");
- PointerHolder<QPDFObjectHandle::StreamDataProvider> provider(p);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p);
Pl_Buffer b_p("get image data");
provider->provideStreamData(0, 0, &b_p);
- PointerHolder<Buffer> desired_data(b_p.getBuffer());
+ std::shared_ptr<Buffer> desired_data(b_p.getBuffer());
if (desired_data->getSize() != actual_data->getSize()) {
std::cout << "page " << pageno << ": image data length mismatch"
diff --git a/examples/pdf-custom-filter.cc b/examples/pdf-custom-filter.cc
index b6d88684..72aa93b5 100644
--- a/examples/pdf-custom-filter.cc
+++ b/examples/pdf-custom-filter.cc
@@ -205,7 +205,7 @@ class StreamReplacer: public QPDFObjectHandle::StreamDataProvider
void registerStream(
QPDFObjectHandle stream,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self);
private:
bool maybeReplace(
@@ -283,7 +283,7 @@ StreamReplacer::maybeReplace(
// make all its decisions from the stream dictionary. However,
// it's a good idea to make sure we can retrieve the filtered data
// if we are going to need it later.
- PointerHolder<Buffer> out;
+ std::shared_ptr<Buffer> out;
try {
out = stream.getStreamData();
} catch (...) {
@@ -321,7 +321,7 @@ StreamReplacer::maybeReplace(
void
StreamReplacer::registerStream(
QPDFObjectHandle stream,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self)
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self)
{
QPDFObjGen og(stream.getObjGen());
@@ -409,10 +409,10 @@ process(
qpdf.processFile(infilename);
// Create a single StreamReplacer instance. The interface requires
- // a PointerHolder in various places, so allocate a StreamReplacer
- // and stash it in a PointerHolder.
+ // a std::shared_ptr in various places, so allocate a StreamReplacer
+ // and stash it in a std::shared_ptr.
StreamReplacer* replacer = new StreamReplacer(&qpdf);
- PointerHolder<QPDFObjectHandle::StreamDataProvider> p(replacer);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> p(replacer);
for (auto& o : qpdf.getAllObjects()) {
if (o.isStream()) {
diff --git a/examples/pdf-filter-tokens.cc b/examples/pdf-filter-tokens.cc
index 39950752..eee90c33 100644
--- a/examples/pdf-filter-tokens.cc
+++ b/examples/pdf-filter-tokens.cc
@@ -207,10 +207,11 @@ main(int argc, char* argv[])
// details.
QPDFPageObjectHelper& page(*iter);
page.addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
new StringReverser));
page.addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(new ColorToGray));
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
+ new ColorToGray));
}
QPDFWriter w(pdf, outfilename);
diff --git a/examples/pdf-invert-images.cc b/examples/pdf-invert-images.cc
index df9e7362..033e3622 100644
--- a/examples/pdf-invert-images.cc
+++ b/examples/pdf-invert-images.cc
@@ -41,7 +41,7 @@ class ImageInverter: public QPDFObjectHandle::StreamDataProvider
void registerImage(
QPDFObjectHandle image,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self);
private:
std::map<QPDFObjGen, QPDFObjectHandle> copied_images;
@@ -50,14 +50,14 @@ class ImageInverter: public QPDFObjectHandle::StreamDataProvider
void
ImageInverter::registerImage(
QPDFObjectHandle image,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self)
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self)
{
// replaceStreamData requires a pointer holder to the stream data
// provider, but there's no way for us to generate one ourselves,
// so we have to have it handed to us. Don't be tempted to have
- // the class contain a PointerHolder to itself as a member. Doing
+ // the class contain a std::shared_ptr to itself as a member. Doing
// this will prevent the class from ever being deleted since the
- // reference count will never drop to zero (and PointerHolder
+ // reference count will never drop to zero (and std::shared_ptr
// doesn't have weak references).
QPDFObjGen og(image.getObjGen());
@@ -90,7 +90,7 @@ ImageInverter::provideStreamData(int objid, int generation, Pipeline* pipeline)
// image data. Then invert the image data and write the inverted
// data to the pipeline.
QPDFObjGen og(objid, generation);
- PointerHolder<Buffer> data =
+ std::shared_ptr<Buffer> data =
this->copied_images[og].getStreamData(qpdf_dl_all);
size_t size = data->getSize();
unsigned char* buf = data->getBuffer();
@@ -128,7 +128,7 @@ main(int argc, char* argv[])
qpdf.processFile(infilename, password);
ImageInverter* inv = new ImageInverter;
- auto p = PointerHolder<QPDFObjectHandle::StreamDataProvider>(inv);
+ auto p = std::shared_ptr<QPDFObjectHandle::StreamDataProvider>(inv);
// For each page...
std::vector<QPDFPageObjectHelper> pages =