Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


https://bugs.documentfoundation.org/show_bug.cgi?id=93240

            Bug ID: 93240
           Summary: replace boost::ptr_container with
                    std::container<std::unique_ptr>
           Product: LibreOffice
           Version: 5.1.0.0.alpha0+ Master
          Hardware: Other
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: LibreOffice
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: mstahl@redhat.com
                CC: libreoffice@lists.freedesktop.org

we use a lot of boost::ptr_container currently:

  git grep ptr_container | wc -l
  286

with C++11 it is now possible to use std::unique_ptr with the C++
standard library containers, and this makes most use of
boost::ptr_container obsolete.

the bundled boost headers require a lot of patches to suppress warnings
so it would reduce the maintenance burden here to use standard C++11
containers instead, and it would also make incremental rebuilds faster
whenever boost is modified/patched.

also with GCC 5's libstdc++ somehow loads of auto_ptr deprecation
warnings are being generated (and ignored) via the boost headers, and
that problem would also be substantially reduced by converting these.

for examples on how to do this search the git log for "boost::ptr_"

in some cases it is even easier to replace the ptr_container with a
std container that doesn't use unique_ptr but holds the elements
by value - a lot of these containers were converted from awkward
legacy tools containers that forced manual memory allocations everywhere.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.