• - Remove unnecessary QPDF_DLLs
    - make deleted constructors public
    - move some comments to support tooltips
    - modernise some constructors and destructors
    - change some member shared pointers to unique pointers
    m-holger authored
     
    Browse File »






  • `basic_string<unsigned char>` implies use of
    `char_traits<unsigned char>`.
    
    This char_traits specialization is not standard C++, and will be
    removed from LibC++ as of LLVM 18. To ensure continued LibC++
    compatibility it needs to be removed.
    
    There are two possible replacements here: `std::string` (e.g.
    `std::basic_string<char>`), or `std::vector<unsigned char>`.
    
    I have opted for vector since this code is dealing with a binary
    buffer; though probably either way is fine (why does C++ even have
    strings anyway??).
    
    https://github.com/qpdf/qpdf/issues/1024
    Zoe Clifford authored
     
    Browse File »









  • (patrepl and cleanpatch are my own utilities)
    
    patrepl s/PointerHolder/std::shared_ptr/g {include,libqpdf}/qpdf/*.hh
    patrepl s/PointerHolder/std::shared_ptr/g libqpdf/*.cc
    patrepl s/make_pointer_holder/std::make_shared/g libqpdf/*.cc
    patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g libqpdf/*.cc
    patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh
    git restore include/qpdf/PointerHolder.hh
    cleanpatch
    ./format-code
    Jay Berkenbilt authored
     
    Browse File »







  • Have classes contain only a single private member of type
    PointerHolder<Members>. This makes it safe to change the structure of
    the Members class without breaking binary compatibility. Many of the
    classes already follow this pattern quite successfully. This brings in
    the rest of the class that are part of the public API.
    Jay Berkenbilt authored
     
    Browse File »