Automatic using ::rtl::OUString etc.

Norbert Thiebaud nthiebaud at gmail.com
Tue Sep 18 03:43:50 PDT 2012


On Tue, Sep 18, 2012 at 3:38 AM, Stephan Bergmann <sbergman at 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.

Norbert





./autodoc/source/ary/doc/d_docu.d
./autodoc/source/ary/doc/d_node.d
./autodoc/source/ary/doc/d_oldidldocu.d
./autodoc/source/ary/idl/i2s_calculator.d
./autodoc/source/ary/idl/i_attribute.d
./autodoc/source/ary/idl/i_ce.d
./autodoc/source/ary/idl/i_ce2s.d
./autodoc/source/ary/idl/i_comrela.d
./autodoc/source/ary/idl/i_constant.d
./autodoc/source/ary/idl/i_constgroup.d
./autodoc/source/ary/idl/i_enum.d
./autodoc/source/ary/idl/i_enumvalue.d
./autodoc/source/ary/idl/i_exception.d
./autodoc/source/ary/idl/i_function.d
./autodoc/source/ary/idl/i_interface.d
./autodoc/source/ary/idl/i_module.d
./autodoc/source/ary/idl/i_namelookup.d
./autodoc/source/ary/idl/i_param.d
./autodoc/source/ary/idl/i_property.d
./autodoc/source/ary/idl/i_reposypart.d
./autodoc/source/ary/idl/i_service.d
./autodoc/source/ary/idl/i_singleton.d
./autodoc/source/ary/idl/i_siservice.d
./autodoc/source/ary/idl/i_sisingleton.d
./autodoc/source/ary/idl/i_struct.d
./autodoc/source/ary/idl/i_structelem.d
./autodoc/source/ary/idl/i_traits.d
./autodoc/source/ary/idl/i_typedef.d
./autodoc/source/ary/idl/ia_ce.d
./autodoc/source/ary/idl/ia_type.d
./autodoc/source/ary/idl/is_ce.d
./autodoc/source/ary/idl/is_type.d
./autodoc/source/ary/idl/it_builtin.d
./autodoc/source/ary/idl/it_ce.d
./autodoc/source/ary/idl/it_explicit.d
./autodoc/source/ary/idl/it_sequence.d
./autodoc/source/ary/idl/it_tplparam.d
./autodoc/source/ary/idl/it_xnameroom.d
./autodoc/source/ary/info/all_dts.d
./autodoc/source/ary/info/all_tags.d
./autodoc/source/ary/info/ci_attag.d
./autodoc/source/ary/info/ci_text.d
./autodoc/source/ary/kernel/namesort.d
./autodoc/source/ary/kernel/qualiname.d
./autodoc/source/ary/kernel/reposy.d
./autodoc/source/ary_i/kernel/ci_atag2.d
./autodoc/source/ary_i/kernel/ci_text2.d
./autodoc/source/ary_i/kernel/d_token.d
./autodoc/source/display/html/cfrstd.d
./autodoc/source/display/idl/hfi_constgroup.d
./autodoc/source/display/idl/hfi_doc.d
./autodoc/source/display/idl/hfi_enum.d
./autodoc/source/display/idl/hfi_globalindex.d
./autodoc/source/display/idl/hfi_hierarchy.d
./autodoc/source/display/idl/hfi_interface.d
./autodoc/source/display/idl/hfi_method.d
./autodoc/source/display/idl/hfi_module.d
./autodoc/source/display/idl/hfi_navibar.d
./autodoc/source/display/idl/hfi_property.d
./autodoc/source/display/idl/hfi_service.d
./autodoc/source/display/idl/hfi_singleton.d
./autodoc/source/display/idl/hfi_siservice.d
./autodoc/source/display/idl/hfi_struct.d
./autodoc/source/display/idl/hfi_tag.d
./autodoc/source/display/idl/hfi_typedef.d
./autodoc/source/display/idl/hfi_typetext.d
./autodoc/source/display/idl/hfi_xrefpage.d
./autodoc/source/display/idl/hi_ary.d
./autodoc/source/display/idl/hi_display.d
./autodoc/source/display/idl/hi_env.d
./autodoc/source/display/idl/hi_factory.d
./autodoc/source/display/idl/hi_linkhelper.d
./autodoc/source/display/idl/hi_main.d
./autodoc/source/display/kernel/displfct.d
./autodoc/source/display/toolkit/hf_docentry.d
./autodoc/source/display/toolkit/hf_funcdecl.d
./autodoc/source/display/toolkit/hf_linachain.d
./autodoc/source/display/toolkit/hf_navi_main.d
./autodoc/source/display/toolkit/hf_navi_sub.d
./autodoc/source/display/toolkit/hf_title.d
./autodoc/source/display/toolkit/htmlfile.d
./autodoc/source/display/toolkit/out_node.d
./autodoc/source/display/toolkit/out_position.d
./autodoc/source/display/toolkit/out_tree.d
./autodoc/source/display/toolkit/outputstack.d
./autodoc/source/exes/adc_uni/adc_cl.d
./autodoc/source/exes/adc_uni/adc_cmd_parse.d
./autodoc/source/exes/adc_uni/adc_cmds.d
./autodoc/source/exes/adc_uni/adc_msg.d
./autodoc/source/exes/adc_uni/cmd_run.d
./autodoc/source/exes/adc_uni/cmd_sincedata.d
./autodoc/source/exes/adc_uni/main.d
./autodoc/source/parser/kernel/parsefct.d
./autodoc/source/parser/kernel/x_docu.d
./autodoc/source/parser/kernel/x_parse.d
./autodoc/source/parser/tokens/stmstate.d
./autodoc/source/parser/tokens/tkp.d
./autodoc/source/parser/tokens/tkpcontx.d
./autodoc/source/parser/tokens/tokdeal.d
./autodoc/source/parser_i/idl/cx_idlco.d
./autodoc/source/parser_i/idl/cx_sub.d
./autodoc/source/parser_i/idl/distrib.d
./autodoc/source/parser_i/idl/parsenv2.d
./autodoc/source/parser_i/idl/pe_attri.d
./autodoc/source/parser_i/idl/pe_const.d
./autodoc/source/parser_i/idl/pe_enum2.d
./autodoc/source/parser_i/idl/pe_evalu.d
./autodoc/source/parser_i/idl/pe_excp.d
./autodoc/source/parser_i/idl/pe_file2.d
./autodoc/source/parser_i/idl/pe_func2.d
./autodoc/source/parser_i/idl/pe_iface.d
./autodoc/source/parser_i/idl/pe_property.d
./autodoc/source/parser_i/idl/pe_selem.d
./autodoc/source/parser_i/idl/pe_servi.d
./autodoc/source/parser_i/idl/pe_singl.d
./autodoc/source/parser_i/idl/pe_struc.d
./autodoc/source/parser_i/idl/pe_tydf2.d
./autodoc/source/parser_i/idl/pe_type2.d
./autodoc/source/parser_i/idl/pe_vari2.d
./autodoc/source/parser_i/idl/pestate.d
./autodoc/source/parser_i/idl/semnode.d
./autodoc/source/parser_i/idl/tk_const.d
./autodoc/source/parser_i/idl/tk_ident.d
./autodoc/source/parser_i/idl/tk_keyw.d
./autodoc/source/parser_i/idl/tk_punct.d
./autodoc/source/parser_i/idl/tkp_uidl.d
./autodoc/source/parser_i/idl/unoidl.d
./autodoc/source/parser_i/idoc/cx_docu2.d
./autodoc/source/parser_i/idoc/cx_dsapi.d
./autodoc/source/parser_i/idoc/docu_pe2.d
./autodoc/source/parser_i/idoc/tk_atag2.d
./autodoc/source/parser_i/idoc/tk_docw2.d
./autodoc/source/parser_i/idoc/tk_html.d
./autodoc/source/parser_i/idoc/tk_xml.d
./autodoc/source/parser_i/tokens/stmstar2.d
./autodoc/source/parser_i/tokens/stmstat2.d
./autodoc/source/parser_i/tokens/stmstfi2.d
./autodoc/source/parser_i/tokens/tkp2.d
./autodoc/source/parser_i/tokens/tkpcont2.d
./autodoc/source/parser_i/tokens/tkpstam2.d
./autodoc/source/parser_i/tokens/x_parse2.d
./autodoc/source/tools/filecoll.d
./autodoc/source/tools/tkpchars.d
./basebmp/source/debug.d
./basegfx/source/tools/zoomtools.d
./basegfx/test/basegfx1d.d
./basegfx/test/basegfx3d.d
./binaryurp/qa/test-cache.d
./canvas/source/tools/elapsedtime.d
./chart2/source/controller/dialogs/ChangingResource.d
./chart2/source/tools/MutexContainer.d
./chart2/source/tools/TrueGuard.d
./chart2/source/view/charttypes/CategoryPositionHelper.d
./codemaker/source/codemaker/unotype.d
./comphelper/source/misc/asyncnotification.d
./comphelper/source/misc/sharedmutex.d
./configmgr/source/lock.d
./connectivity/source/commontools/TSkipDeletedSet.d
./connectivity/source/drivers/hsqldb/accesslog.d
./connectivity/source/simpledbt/refbase.d
./cosv/source/comphelp/badcast.d
./cosv/source/service/comdline.d
./cosv/source/service/comfunc.d
./cosv/source/service/csv_ostream.d
./cosv/source/service/std_outp.d
./cosv/source/storage/dirchain.d
./cosv/source/storage/file.d
./cosv/source/storage/persist.d
./cosv/source/storage/ploc.d
./cosv/source/storage/ploc_dir.d
./cosv/source/storage/plocroot.d
./cosv/source/strings/str_types.d
./cosv/source/strings/streamstr.d
./cosv/source/strings/string.d
./cppu/source/threadpool/jobqueue.d
./cppu/source/threadpool/threadident.d
./cppu/source/threadpool/threadpool.d
./dbaccess/source/ext/macromigration/progressmixer.d
./dbaccess/source/ui/control/ScrollHelper.d
./dbaccess/source/ui/querydesign/TableFieldInfo.d
./desktop/source/deployment/misc/db.d
./drawinglayer/source/attribute/sdrallattribute3d.d
./drawinglayer/source/attribute/strokeattribute.d
./extensions/source/nsplugin/source/so_env.d
./filter/source/graphicfilter/idxf/dxfvec.d
./filter/source/msfilter/countryid.d
./framework/source/constant/containerquery.d
./framework/source/fwi/helper/shareablemutex.d
./hwpfilter/source/cspline.d
./hwpfilter/source/fontmap.d
./hwpfilter/source/grammar.d
./hwpfilter/source/hbox.d
./hwpfilter/source/hcode.d
./hwpfilter/source/hfont.d
./hwpfilter/source/hgzip.d
./hwpfilter/source/hinfo.d
./hwpfilter/source/hiodev.d
./hwpfilter/source/hpara.d
./hwpfilter/source/hstream.d
./hwpfilter/source/hstyle.d
./hwpfilter/source/htags.d
./hwpfilter/source/hutil.d
./hwpfilter/source/hwpeq.d
./hwpfilter/source/hwpfile.d
./hwpfilter/source/hwpread.d
./hwpfilter/source/lexer.d
./hwpfilter/source/mzstring.d
./hwpfilter/source/solver.d
./jvmaccess/source/unovirtualmachine.d
./jvmaccess/source/virtualmachine.d
./l10ntools/source/idxdict/idxdict.d
./lingucomponent/source/languageguessing/altstrfunc.d
./lingucomponent/source/languageguessing/guess.d
./lingucomponent/source/languageguessing/simpleguesser.d
./lotuswordpro/source/filter/localtime.d
./o3tl/qa/cow_wrapper_clients.d
./o3tl/qa/test-cow_wrapper.d
./o3tl/qa/test-heap_ptr.d
./o3tl/qa/test-range.d
./o3tl/qa/test-sorted_vector.d
./o3tl/qa/test-vector_pool.d
./registry/tools/options.d
./rsc/source/tools/rschash.d
./sal/cpprt/operators_new_delete.d
./sal/osl/all/log.d
./sal/osl/all/trace.d
./sal/osl/unx/conditn.d
./sal/osl/unx/diagnose.d
./sal/osl/unx/file_error_transl.d
./sal/osl/unx/file_volume.d
./sal/osl/unx/module.d
./sal/osl/unx/salinit.d
./sal/qa/ByteSequence/ByteSequence.d
./sal/qa/OStringBuffer/rtl_OStringBuffer.d
./sal/qa/OStringBuffer/rtl_String_Utils.d
./sal/qa/osl/process/osl_Thread.d
./sal/qa/osl/profile/osl_old_testprofile.d
./sal/qa/osl/setthreadname/test-setthreadname.d
./sal/qa/rtl/alloc/rtl_alloc.d
./sal/qa/rtl/cipher/rtl_cipher.d
./sal/qa/rtl/crc32/rtl_crc32.d
./sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.d
./sal/qa/rtl/strings/test_ostring_stringliterals.d
./sal/qa/rtl/strings/test_oustring_noadditional.d
./sal/qa/sal/test_types.d
./sal/rtl/source/alloc_arena.d
./sal/rtl/source/alloc_cache.d
./sal/rtl/source/alloc_fini.d
./sal/rtl/source/alloc_global.d
./sal/rtl/source/byteseq.d
./sal/rtl/source/cipher.d
./sal/rtl/source/crc.d
./sal/rtl/source/digest.d
./sal/rtl/source/hash.d
./sal/rtl/source/locale.d
./sal/rtl/source/memory.d
./sal/rtl/source/random.d
./sal/rtl/source/rtl_process.d
./sal/rtl/source/strbuf.d
./sal/rtl/source/strimp.d
./sal/rtl/source/string.d
./sal/rtl/source/ustring.d
./sal/rtl/source/uuid.d
./sal/textenc/context.d
./sal/textenc/convertbig5hkscs.d
./sal/textenc/converter.d
./sal/textenc/converteuctw.d
./sal/textenc/convertgb18030.d
./sal/textenc/convertiso2022cn.d
./sal/textenc/convertiso2022jp.d
./sal/textenc/convertiso2022kr.d
./sal/textenc/convertsimple.d
./sal/textenc/convertsinglebytetobmpunicode.d
./sal/textenc/handleundefinedunicodetotextchar.d
./sal/textenc/tables.d
./sal/textenc/tcvtbyte.d
./sal/textenc/tcvtmb.d
./sal/textenc/tcvtutf7.d
./sal/textenc/tcvtutf8.d
./sal/textenc/tencinfo.d
./sal/textenc/textcvt.d
./sal/textenc/unichars.d
./salhelper/source/condition.d
./salhelper/source/simplereferenceobject.d
./salhelper/source/thread.d
./salhelper/source/timer.d
./sc/qa/extras/macros-test.d
./sc/qa/extras/scannotationshapeobj.d
./sc/qa/extras/sccellrangeobj.d
./sc/qa/extras/scdatabaserangeobj.d
./sc/qa/extras/scdatapilotfieldobj.d
./sc/qa/extras/scdatapilottableobj.d
./sc/qa/extras/sceditfieldobj-cell.d
./sc/qa/extras/sceditfieldobj-header.d
./sc/qa/extras/scnamedrangeobj.d
./sc/qa/extras/scnamedrangesobj.d
./sc/qa/extras/sctablesheetobj.d
./sc/qa/extras/sctablesheetsobj.d
./sc/source/core/data/dpnumgroupinfo.d
./sc/source/core/tool/calcconfig.d
./sc/source/core/tool/navicfg.d
./sc/source/core/tool/refreshtimer.d
./sc/source/filter/starcalc/collect.d
./sc/source/ui/dbgui/csvsplits.d
./sd/source/ui/toolpanel/SlideSorterCacheDisplay.d
./sd/source/ui/tools/TimerBasedTaskExecution.d
./sd/source/ui/view/ViewShellHint.d
./sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.d
./sdext/source/pdfimport/xpdfwrapper/pnghelper.d
./sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.d
./sdext/source/presenter/PresenterPaneBorderManager.d
./sfx2/source/bastyp/bitset.d
./sfx2/source/bastyp/minarray.d
./sfx2/source/doc/sfxacldetect.d
./sfx2/source/doc/syspath.d
./shell/source/all/xml_parser.d
./shell/source/tools/lngconvex/cmdline.d
./slideshow/source/engine/OGLTrans/unx/OGLTrans_Shaders.d
./smoketest/smoketest_too.d
./sot/source/sdstor/stgavl.d
./starmath/source/types.d
./store/source/object.d
./store/source/storbase.d
./store/source/storbios.d
./store/source/storcach.d
./store/source/stordata.d
./store/source/stordir.d
./store/source/store.d
./store/source/storlckb.d
./store/source/storpage.d
./store/source/stortree.d
./svl/qa/unit/test_URIHelper.d
./svl/source/notify/brdcst.d
./svl/source/notify/broadcast.d
./svl/source/notify/hint.d
./svl/source/notify/listener.d
./svl/source/notify/listenerbase.d
./svl/source/notify/listeneriter.d
./svl/source/notify/lstner.d
./svl/source/notify/smplhint.d
./svl/source/svsql/converter.d
./svtools/source/dialogs/mcvmath.d
./svtools/source/filter/sgvspln.d
./svtools/source/toolpanel/refbase.d
./svx/source/fmcomp/trace.d
./svx/source/sdr/animation/scheduler.d
./svx/source/sdr/attribute/sdrformtextoutlineattribute.d
./svx/source/sdr/event/eventhandler.d
./sw/qa/core/Test-BigPtrArray.d
./sw/source/core/SwNumberTree/SwNumberTree.d
./sw/source/core/bastyp/bparr.d
./sw/source/core/bastyp/swrect.d
./sw/source/core/bastyp/tabcol.d
./sw/source/core/doc/dbgoutsw.d
./sw/source/core/doc/docstat.d
./sw/source/core/docnode/observablethread.d
./sw/source/core/docnode/pausethreadstarting.d
./sw/source/core/docnode/threadlistener.d
./sw/source/core/layout/dbg_lay.d
./sw/source/core/text/txtio.d
./sw/source/filter/html/css1kywd.d
./sw/source/filter/html/htmlflyt.d
./sw/source/filter/ww8/WW8FibData.d
./sw/source/filter/ww8/fields.d
./sw/source/filter/xml/xmlitemm.d
./toolkit/source/helper/servicenames.d
./tools/bootstrp/md5.d
./tools/bootstrp/so_checksum.d
./tools/qa/cppunit/test_pathutils.d
./tools/source/datetime/tdate.d
./tools/source/datetime/ttime.d
./tools/source/debug/debug.d
./tools/source/generic/line.d
./tools/source/generic/link.d
./tools/source/generic/svborder.d
./tools/source/generic/toolsin.d
./tools/source/memtools/mempool.d
./tools/source/memtools/unqidx.d
./tools/source/misc/appendunixshellword.d
./tools/source/misc/pathutils.d
./tools/source/misc/solarmutex.d
./tools/source/ref/ref.d
./tools/source/reversemap/bestreversemap.d
./tools/source/string/reversemap.d
./tools/source/string/tenccvt.d
./tools/unx/source/dll/toolsdll.d
./ucb/source/ucp/ftp/ftploaderthread.d
./ucbhelper/source/client/contentbroker.d
./udm/source/html/htmlitem.d
./udm/source/xml/xmlitem.d
./unotools/source/config/options.d
./unotools/source/i18n/readwritemutexguard.d
./vcl/headless/svpelement.d
./vcl/source/app/dbggui.d
./vcl/source/app/solarmutex.d
./vcl/source/app/svmainhook.d
./vcl/source/fontsubset/gsub.d
./vcl/source/fontsubset/sft.d
./vcl/source/fontsubset/ttcr.d
./vcl/source/fontsubset/xlat.d
./vcl/source/gdi/extoutdevdata.d
./vcl/source/gdi/regband.d
./vcl/unx/generic/app/i18n_keysym.d
./vcl/unx/generic/window/FWS.d
./vcl/unx/x11/xlimits.d
./writerfilter/source/doctok/WW8OutputWithDepth.d
./writerfilter/source/resourcemodel/Fraction.d
./writerfilter/source/resourcemodel/Protocol.d
./writerfilter/source/resourcemodel/XPathLogger.d
./writerfilter/source/rtftok/rtfcharsets.d
./writerfilter/source/rtftok/rtfcontrolwords.d
./writerperfect/source/filter/DocumentElement.d
./writerperfect/source/filter/FilterInternal.d
./writerperfect/source/filter/FontStyle.d
./writerperfect/source/filter/InternalHandler.d
./writerperfect/source/filter/ListStyle.d
./writerperfect/source/filter/OdgGenerator.d
./writerperfect/source/filter/OdtGenerator.d
./writerperfect/source/filter/PageSpan.d
./writerperfect/source/filter/SectionStyle.d
./writerperfect/source/filter/TableStyle.d
./writerperfect/source/filter/TextRunStyle.d
./xml2cmp/source/support/badcast.d
./xml2cmp/source/support/cmdline.d
./xml2cmp/source/support/heap.d
./xml2cmp/source/support/sistr.d
./xml2cmp/source/support/syshelp.d
./xml2cmp/source/xcd/cr_html.d
./xml2cmp/source/xcd/cr_metho.d
./xml2cmp/source/xcd/dependy.d
./xml2cmp/source/xcd/filebuff.d
./xml2cmp/source/xcd/main.d
./xml2cmp/source/xcd/parse.d
./xml2cmp/source/xcd/xmlelem.d
./xml2cmp/source/xcd/xmltree.d
./xmloff/source/forms/controlelement.d
./xmloff/source/forms/logging.d
./xmloff/source/style/uniref.d
./xmloff/source/transform/PropertyActionsOASIS.d
./xmloff/source/transform/PropertyActionsOOo.d
./xmlreader/source/pad.d
./xmlsecurity/source/xmlsec/nss/secerror.d


More information about the LibreOffice mailing list