diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/pdf-create.cc | 6 | ||||
-rw-r--r-- | examples/pdf-custom-filter.cc | 12 | ||||
-rw-r--r-- | examples/pdf-filter-tokens.cc | 5 | ||||
-rw-r--r-- | examples/pdf-invert-images.cc | 12 |
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 = |