mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-03 07:12:28 +00:00
a0e70b370a
This commit contains only the manual changes. It is separated for clarity. This commit would not pass CI because it lacks the automated changes, which appear in the next commit.
136 lines
4.5 KiB
C++
136 lines
4.5 KiB
C++
// See "ABI checks" in README-maintainer and comments in check_abi.
|
|
|
|
#include <iostream>
|
|
|
|
#include <qpdf/Buffer.hh>
|
|
#include <qpdf/BufferInputSource.hh>
|
|
#include <qpdf/ClosedFileInputSource.hh>
|
|
#include <qpdf/FileInputSource.hh>
|
|
#include <qpdf/InputSource.hh>
|
|
#include <qpdf/JSON.hh>
|
|
#include <qpdf/PDFVersion.hh>
|
|
#include <qpdf/Pipeline.hh>
|
|
#include <qpdf/Pl_Buffer.hh>
|
|
#include <qpdf/Pl_Concatenate.hh>
|
|
#include <qpdf/Pl_Count.hh>
|
|
#include <qpdf/Pl_DCT.hh>
|
|
#include <qpdf/Pl_Discard.hh>
|
|
#include <qpdf/Pl_Flate.hh>
|
|
#include <qpdf/Pl_Function.hh>
|
|
#include <qpdf/Pl_OStream.hh>
|
|
#include <qpdf/Pl_QPDFTokenizer.hh>
|
|
#include <qpdf/Pl_RunLength.hh>
|
|
#include <qpdf/Pl_StdioFile.hh>
|
|
#include <qpdf/Pl_String.hh>
|
|
#include <qpdf/QPDF.hh>
|
|
#include <qpdf/QPDFAcroFormDocumentHelper.hh>
|
|
#include <qpdf/QPDFAnnotationObjectHelper.hh>
|
|
#include <qpdf/QPDFCryptoProvider.hh>
|
|
#include <qpdf/QPDFEFStreamObjectHelper.hh>
|
|
#include <qpdf/QPDFEmbeddedFileDocumentHelper.hh>
|
|
#include <qpdf/QPDFExc.hh>
|
|
#include <qpdf/QPDFFileSpecObjectHelper.hh>
|
|
#include <qpdf/QPDFFormFieldObjectHelper.hh>
|
|
#include <qpdf/QPDFJob.hh>
|
|
#include <qpdf/QPDFLogger.hh>
|
|
#include <qpdf/QPDFMatrix.hh>
|
|
#include <qpdf/QPDFNameTreeObjectHelper.hh>
|
|
#include <qpdf/QPDFNumberTreeObjectHelper.hh>
|
|
#include <qpdf/QPDFObjGen.hh>
|
|
#include <qpdf/QPDFObjectHandle.hh>
|
|
#include <qpdf/QPDFOutlineDocumentHelper.hh>
|
|
#include <qpdf/QPDFOutlineObjectHelper.hh>
|
|
#include <qpdf/QPDFPageDocumentHelper.hh>
|
|
#include <qpdf/QPDFPageLabelDocumentHelper.hh>
|
|
#include <qpdf/QPDFPageObjectHelper.hh>
|
|
#include <qpdf/QPDFStreamFilter.hh>
|
|
#include <qpdf/QPDFSystemError.hh>
|
|
#include <qpdf/QPDFTokenizer.hh>
|
|
#include <qpdf/QPDFUsage.hh>
|
|
#include <qpdf/QPDFWriter.hh>
|
|
#include <qpdf/QPDFXRefEntry.hh>
|
|
|
|
#define ignore_class(cls)
|
|
#define print_size(cls) std::cout << #cls << " " << sizeof(cls) << std::endl
|
|
|
|
// These are not classes
|
|
// -------
|
|
ignore_class(QUtil);
|
|
ignore_class(QTC);
|
|
|
|
int
|
|
main()
|
|
{
|
|
// Print the size of every class in the public API. This file is
|
|
// read by the check_abi script at the top of the repository as
|
|
// part of the binary compatibility checks performed before each
|
|
// release.
|
|
print_size(Buffer);
|
|
print_size(BufferInputSource);
|
|
print_size(ClosedFileInputSource);
|
|
print_size(FileInputSource);
|
|
print_size(InputSource);
|
|
print_size(JSON);
|
|
print_size(PDFVersion);
|
|
print_size(Pipeline);
|
|
print_size(Pl_Buffer);
|
|
print_size(Pl_Concatenate);
|
|
print_size(Pl_Count);
|
|
print_size(Pl_DCT);
|
|
print_size(Pl_Discard);
|
|
print_size(Pl_Flate);
|
|
print_size(Pl_Function);
|
|
print_size(Pl_OStream);
|
|
print_size(Pl_QPDFTokenizer);
|
|
print_size(Pl_RunLength);
|
|
print_size(Pl_StdioFile);
|
|
print_size(Pl_String);
|
|
print_size(QPDF);
|
|
print_size(QPDFAcroFormDocumentHelper);
|
|
print_size(QPDFAnnotationObjectHelper);
|
|
print_size(QPDFCryptoProvider);
|
|
print_size(QPDFEFStreamObjectHelper);
|
|
print_size(QPDFEmbeddedFileDocumentHelper);
|
|
print_size(QPDFExc);
|
|
print_size(QPDFFileSpecObjectHelper);
|
|
print_size(QPDFFormFieldObjectHelper);
|
|
print_size(QPDFJob);
|
|
print_size(QPDFJob::AttConfig);
|
|
print_size(QPDFJob::Config);
|
|
print_size(QPDFJob::CopyAttConfig);
|
|
print_size(QPDFJob::EncConfig);
|
|
print_size(QPDFJob::PagesConfig);
|
|
print_size(QPDFJob::UOConfig);
|
|
print_size(QPDFJob::PageLabelsConfig);
|
|
print_size(QPDFLogger);
|
|
print_size(QPDFMatrix);
|
|
print_size(QPDFNameTreeObjectHelper);
|
|
print_size(QPDFNameTreeObjectHelper::iterator);
|
|
print_size(QPDFNumberTreeObjectHelper);
|
|
print_size(QPDFNumberTreeObjectHelper::iterator);
|
|
print_size(QPDFObjGen);
|
|
print_size(QPDFObjGen::set);
|
|
print_size(QPDFObjectHandle);
|
|
print_size(QPDFObjectHandle::ParserCallbacks);
|
|
print_size(QPDFObjectHandle::QPDFArrayItems);
|
|
print_size(QPDFObjectHandle::QPDFArrayItems::iterator);
|
|
print_size(QPDFObjectHandle::QPDFDictItems);
|
|
print_size(QPDFObjectHandle::QPDFDictItems::iterator);
|
|
print_size(QPDFObjectHandle::StreamDataProvider);
|
|
print_size(QPDFObjectHandle::TokenFilter);
|
|
print_size(QPDFOutlineDocumentHelper);
|
|
print_size(QPDFOutlineObjectHelper);
|
|
print_size(QPDFPageDocumentHelper);
|
|
print_size(QPDFPageLabelDocumentHelper);
|
|
print_size(QPDFPageObjectHelper);
|
|
print_size(QPDFStreamFilter);
|
|
print_size(QPDFSystemError);
|
|
print_size(QPDFTokenizer);
|
|
print_size(QPDFTokenizer::Token);
|
|
print_size(QPDFUsage);
|
|
print_size(QPDFWriter);
|
|
print_size(QPDFWriter::FunctionProgressReporter);
|
|
print_size(QPDFXRefEntry);
|
|
return 0;
|
|
}
|