diff -ruNp a/src/base/PdfFilter.cpp b/src/base/PdfFilter.cpp --- a/src/base/PdfFilter.cpp 2016-11-18 20:08:56.000000000 +0100 +++ b/src/base/PdfFilter.cpp 2019-01-16 10:25:22.934430500 +0100 @@ -131,7 +131,7 @@ class PdfFilteredEncodeStream : public P private: PdfOutputStream* m_pOutputStream; - std::auto_ptr<PdfFilter> m_filter; + std::unique_ptr<PdfFilter> m_filter; }; /** Create a filter that is a PdfOutputStream. @@ -206,7 +206,7 @@ class PdfFilteredDecodeStream : public P private: PdfOutputStream* m_pOutputStream; - std::auto_ptr<PdfFilter> m_filter; + std::unique_ptr<PdfFilter> m_filter; bool m_bFilterFailed; }; @@ -264,7 +264,7 @@ PdfFilterFactory::PdfFilterFactory() { } -std::auto_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) +std::unique_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) { PdfFilter* pFilter = NULL; switch( eFilter ) @@ -316,7 +316,7 @@ std::auto_ptr<PdfFilter> PdfFilterFactor break; } - return std::auto_ptr<PdfFilter>(pFilter); + return std::unique_ptr<PdfFilter>(pFilter); } PdfOutputStream* PdfFilterFactory::CreateEncodeStream( const TVecFilters & filters, PdfOutputStream* pStream ) diff -ruNp a/src/base/PdfFilter.h b/src/base/PdfFilter.h --- a/src/base/PdfFilter.h 2016-11-18 20:08:56.000000000 +0100 +++ b/src/base/PdfFilter.h 2019-01-16 10:25:22.981323900 +0100 @@ -454,7 +454,7 @@ class PODOFO_API PdfFilterFactory { public: /** Create a filter from an enum. * - * Ownership is transferred to the caller, who should let the auto_ptr + * Ownership is transferred to the caller, who should let the unique_ptr * the filter is returned in take care of freeing it when they're done * with it. * @@ -463,7 +463,7 @@ class PODOFO_API PdfFilterFactory { * \returns a new PdfFilter allocated using new, or NULL if no * filter is available for this type. */ - static std::auto_ptr<PdfFilter> Create( const EPdfFilter eFilter ); + static std::unique_ptr<PdfFilter> Create( const EPdfFilter eFilter ); /** Create a PdfOutputStream that applies a list of filters * on all data written to it. diff -ruNp a/src/base/PdfMemStream.cpp b/src/base/PdfMemStream.cpp --- a/src/base/PdfMemStream.cpp 2016-11-18 20:08:56.000000000 +0100 +++ b/src/base/PdfMemStream.cpp 2019-01-16 10:25:23.479681200 +0100 @@ -245,7 +245,7 @@ void PdfMemStream::FlateCompressStreamDa if( !m_lLength ) return; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); if( pFilter.get() ) { pFilter->Encode( m_buffer.GetBuffer(), m_buffer.GetSize(), &pBuffer, &lLen ); diff -ruNp a/src/base/PdfStream.cpp b/src/base/PdfStream.cpp --- a/src/base/PdfStream.cpp 2016-11-18 20:08:56.000000000 +0100 +++ b/src/base/PdfStream.cpp 2019-01-16 10:25:24.387075400 +0100 @@ -91,9 +91,9 @@ void PdfStream::GetFilteredCopy( char** PdfMemoryOutputStream stream; if( vecFilters.size() ) { - // Use std::auto_ptr so that pDecodeStream is deleted + // Use std::unique_ptr so that pDecodeStream is deleted // even in the case of an exception - std::auto_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, + std::unique_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, m_pParent ? &(m_pParent->GetDictionary()) : NULL ) ); diff -ruNp a/src/base/PdfString.cpp b/src/base/PdfString.cpp --- a/src/base/PdfString.cpp 2018-03-10 17:30:53.000000000 +0100 +++ b/src/base/PdfString.cpp 2019-01-16 10:25:24.480799400 +0100 @@ -673,7 +673,7 @@ PdfString PdfString::HexEncode() const return *this; else { - std::auto_ptr<PdfFilter> pFilter; + std::unique_ptr<PdfFilter> pFilter; pdf_long lLen = (m_buffer.GetSize() - 1) << 1; PdfString str; @@ -702,7 +702,7 @@ PdfString PdfString::HexDecode() const return *this; else { - std::auto_ptr<PdfFilter> pFilter; + std::unique_ptr<PdfFilter> pFilter; pdf_long lLen = m_buffer.GetSize() >> 1; PdfString str; diff -ruNp a/src/doc/PdfFont.cpp b/src/doc/PdfFont.cpp --- a/src/doc/PdfFont.cpp 2016-05-13 16:04:34.000000000 +0200 +++ b/src/doc/PdfFont.cpp 2019-01-16 10:25:26.372048300 +0100 @@ -145,7 +145,7 @@ void PdfFont::WriteStringToStream( const pdf_long lLen = 0; char* pBuffer = NULL; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); pStream->Append( "<", 1 ); diff -ruNp a/src/doc/PdfPainter.cpp b/src/doc/PdfPainter.cpp --- a/src/doc/PdfPainter.cpp 2018-03-06 15:04:03.000000000 +0100 +++ b/src/doc/PdfPainter.cpp 2019-01-16 10:25:28.512159900 +0100 @@ -829,7 +829,7 @@ void PdfPainter::DrawText( double dX, do /* char* pBuffer; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); pFilter->Encode( sString.GetString(), sString.GetLength(), &pBuffer, &lLen ); m_pCanvas->Append( pBuffer, lLen ); diff -ruNp a/test/CreationTest/CreationTest.cpp b/test/CreationTest/CreationTest.cpp --- a/test/CreationTest/CreationTest.cpp 2018-02-25 12:48:38.000000000 +0100 +++ b/test/CreationTest/CreationTest.cpp 2019-01-16 10:25:29.605315700 +0100 @@ -37,7 +37,7 @@ void WriteStringToStream( const PdfStrin pdf_long lLen = 0; char* pBuffer = NULL; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); oss << "<"; diff -ruNp a/test/FilterTest/FilterTest.cpp b/test/FilterTest/FilterTest.cpp --- a/test/FilterTest/FilterTest.cpp 2018-03-10 15:06:27.000000000 +0100 +++ b/test/FilterTest/FilterTest.cpp 2019-01-16 10:25:29.777214800 +0100 @@ -57,7 +57,7 @@ void test_filter( EPdfFilter eFilter, co pdf_long lEncoded; pdf_long lDecoded; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); if( !pFilter.get() ) { printf("!!! Filter %i not implemented.\n", eFilter); @@ -256,7 +256,7 @@ int main() char* pLargeBuffer2 = static_cast<char*>(malloc( strlen(pszInputAscii85Lzw) * 6 )); try { - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); pFilter->Decode( pszInputAscii85Lzw, strlen(pszInputAscii85Lzw), &pLargeBuffer1, &lLargeBufer1 ); pFilter->Encode( pLargeBuffer1, lLargeBufer1, diff -ruNp a/test/VariantTest/VariantTest.cpp b/test/VariantTest/VariantTest.cpp --- a/test/VariantTest/VariantTest.cpp 2010-10-21 19:09:00.000000000 +0200 +++ b/test/VariantTest/VariantTest.cpp 2019-01-16 10:25:32.418465600 +0100 @@ -124,7 +124,7 @@ int main() printf("This test tests the PdfVariant class.\n"); printf("---\n"); - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); // testing strings TEST_SAFE_OP( Test( "(Hallo Welt!)", ePdfDataType_String ) ); diff -ruNp a/test/unit/FilterTest.cpp b/test/unit/FilterTest.cpp --- a/test/unit/FilterTest.cpp 2016-05-12 22:25:45.000000000 +0200 +++ b/test/unit/FilterTest.cpp 2019-01-16 10:25:31.464162600 +0100 @@ -59,7 +59,7 @@ void FilterTest::TestFilter( EPdfFilter pdf_long lEncoded; pdf_long lDecoded; - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); if( !pFilter.get() ) { printf("!!! Filter %i not implemented.\n", eFilter); @@ -123,7 +123,7 @@ void FilterTest::testFilters() void FilterTest::testCCITT() { - std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); + std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); if( !pFilter.get() ) { printf("!!! ePdfFilter_CCITTFaxDecode not implemented skipping test!\n");