On Tue, Sep 18, 2012 at 3:38 AM, Stephan Bergmann <sbergman@redhat.com> wrote:
It turns out that one drawback of this is with header files that are careful
to only declare the incomplete type via
namespace rtl { class OUString; }
(instead of including rtl/ustring.hxx) if that is all they need. They would
either need to continue using "rtl::OUString" (instead of just "OUString"),
or need to duplicate the using declaration (which could be considered
breaking of encapsulation), or include rtl/ustring.hxx instead.
here is (see bottom of the message) a list of cxx file that do
_not_include ustring.hxx (linux build... so there may be a handfull of
platform specific others)
excluding sal and autodoc, that is 236 files... out of 8013 files...
so 97% of the cxx file of the project already include ustring.hxx (and
therefore due to the inclusion chaine also include at a minimum:
* sal/types.h
* sal/config.h
* sal/macros.h
* sal/detail/log.h
* sal/log.hxx
* rtl/ustring.h
* osl/interlck.h
* rtl/string.h
* rtl/textcvt.h
* rtl/textenc.h
* rtl/string.hxx
* osl/diagnose.h
* rtl/memory.h
* rtl/stringutils.hxx
so... out of the 163 header ( git grep -l "namespace rtl *{ *class
OU" | grep -v OUStringBuffer | wc -l ) that use that namespace rtl {
class OUString; } construct... most of the time they are trying to
avoid a #include that happen anyway.
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.