[Libreoffice-commits] core.git: accessibility/inc basctl/inc basctl/source basic/inc basic/source canvas/source chart2/inc chart2/source comphelper/inc comphelper/qa comphelper/source compilerplugins/clang connectivity/inc connectivity/source cppcanvas/inc cppcanvas/source cui/inc cui/source dbaccess/inc dbaccess/source desktop/inc desktop/qa desktop/source editeng/inc editeng/qa editeng/source emfio/inc emfio/source filter/source forms/inc forms/source framework/inc framework/source idlc/inc include/comphelper include/connectivity include/cppcanvas include/dbaccess include/editeng include/filter include/o3tl include/oox include/sax include/sfx2 include/svtools include/svx include/toolkit include/unotools include/vcl jvmfwk/inc jvmfwk/source libreofficekit/qa officecfg/registry oox/inc oox/source pch/inc reportdesign/inc sax/source sc/inc sc/qa sc/source sd/inc sd/source sfx2/inc sfx2/source slideshow/inc slideshow/source starmath/inc starmath/source svgio/inc svl/inc svtools/inc svtools/source s vx/inc svx/source sw/inc sw/source toolkit/source ucb/source unotools/inc unotools/source unoxml/source vbahelper/inc vcl/inc vcl/qt5 vcl/source vcl/unx vcl/win writerfilter/inc writerfilter/source xmlscript/inc

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Sun Dec 1 13:58:22 UTC 2019


 accessibility/inc/pch/precompiled_acc.hxx                                      |    2 
 basctl/inc/pch/precompiled_basctl.hxx                                          |    2 
 basctl/source/inc/dlgedobj.hxx                                                 |    4 
 basic/inc/pch/precompiled_sb.hxx                                               |    2 
 basic/source/sbx/sbxarray.cxx                                                  |    4 
 canvas/source/directx/dx_config.hxx                                            |    4 
 chart2/inc/pch/precompiled_chartcontroller.hxx                                 |    2 
 chart2/inc/pch/precompiled_chartcore.hxx                                       |    2 
 chart2/source/controller/inc/CharacterPropertyItemConverter.hxx                |    4 
 chart2/source/view/axes/VAxisProperties.hxx                                    |    6 -
 comphelper/inc/pch/precompiled_comphelper.hxx                                  |    2 
 comphelper/qa/unit/variadictemplates.cxx                                       |   12 +-
 comphelper/source/officeinstdir/officeinstallationdirectories.hxx              |    6 -
 compilerplugins/clang/constantparam.numbers.results                            |    2 
 compilerplugins/clang/store/stylepolice.cxx                                    |    2 
 compilerplugins/clang/unusedmethods.results                                    |    4 
 connectivity/inc/pch/precompiled_dbtools.hxx                                   |    2 
 connectivity/inc/pch/precompiled_file.hxx                                      |    2 
 connectivity/inc/pch/precompiled_postgresql-sdbc-impl.hxx                      |    2 
 connectivity/source/commontools/dbmetadata.cxx                                 |    8 -
 connectivity/source/inc/java/io/Reader.hxx                                     |    4 
 cppcanvas/inc/pch/precompiled_cppcanvas.hxx                                    |    2 
 cppcanvas/source/inc/canvasgraphichelper.hxx                                   |    4 
 cppcanvas/source/wrapper/implcanvas.hxx                                        |    4 
 cui/inc/pch/precompiled_cui.hxx                                                |    2 
 cui/source/options/fontsubs.cxx                                                |    2 
 cui/source/options/tsaurls.cxx                                                 |    2 
 dbaccess/inc/pch/precompiled_dba.hxx                                           |    2 
 dbaccess/inc/pch/precompiled_dbaxml.hxx                                        |    2 
 dbaccess/inc/pch/precompiled_dbu.hxx                                           |    2 
 dbaccess/source/core/api/FilteredContainer.cxx                                 |    4 
 dbaccess/source/core/api/resultcolumn.cxx                                      |    2 
 dbaccess/source/core/api/resultcolumn.hxx                                      |   30 +++---
 dbaccess/source/core/dataaccess/documentdefinition.cxx                         |    4 
 dbaccess/source/core/inc/ContentHelper.hxx                                     |    2 
 dbaccess/source/core/inc/ModelImpl.hxx                                         |    2 
 dbaccess/source/filter/xml/xmlExport.cxx                                       |    4 
 dbaccess/source/ui/app/AppController.cxx                                       |    2 
 dbaccess/source/ui/app/AppController.hxx                                       |    2 
 dbaccess/source/ui/app/AppControllerGen.cxx                                    |    4 
 dbaccess/source/ui/browser/unodatbr.cxx                                        |    4 
 dbaccess/source/ui/dlg/advancedsettings.cxx                                    |    2 
 dbaccess/source/ui/dlg/optionalboolitem.hxx                                    |    6 -
 dbaccess/source/ui/inc/unodatbr.hxx                                            |    2 
 dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx                           |    4 
 desktop/inc/app.hxx                                                            |    4 
 desktop/inc/pch/precompiled_deployment.hxx                                     |    2 
 desktop/inc/pch/precompiled_deploymentgui.hxx                                  |    2 
 desktop/inc/pch/precompiled_deploymentmisc.hxx                                 |    2 
 desktop/inc/pch/precompiled_sofficeapp.hxx                                     |    2 
 desktop/qa/desktop_app/test_desktop_app.cxx                                    |    2 
 desktop/source/app/app.cxx                                                     |    2 
 desktop/source/app/cmdlineargs.cxx                                             |    4 
 desktop/source/app/cmdlineargs.hxx                                             |    8 -
 desktop/source/app/dispatchwatcher.hxx                                         |    2 
 desktop/source/app/officeipcthread.cxx                                         |   10 +-
 desktop/source/app/officeipcthread.hxx                                         |    6 -
 desktop/source/app/opencl.cxx                                                  |    2 
 desktop/source/deployment/dp_log.cxx                                           |    2 
 desktop/source/deployment/gui/dp_gui_service.cxx                               |   10 +-
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx                          |    6 -
 desktop/source/deployment/inc/dp_descriptioninfoset.hxx                        |   10 +-
 desktop/source/deployment/inc/dp_identifier.hxx                                |    4 
 desktop/source/deployment/manager/dp_extensionmanager.cxx                      |    2 
 desktop/source/deployment/manager/dp_manager.cxx                               |    2 
 desktop/source/deployment/manager/dp_properties.hxx                            |    6 -
 desktop/source/deployment/misc/dp_descriptioninfoset.cxx                       |   30 +++---
 desktop/source/deployment/misc/dp_identifier.cxx                               |    4 
 desktop/source/deployment/misc/dp_update.cxx                                   |    4 
 desktop/source/deployment/registry/configuration/dp_configuration.cxx          |   12 +-
 desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx |    6 -
 desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx |    4 
 desktop/source/deployment/registry/dp_backend.cxx                              |    6 -
 desktop/source/deployment/registry/help/dp_help.cxx                            |   10 +-
 desktop/source/deployment/registry/help/dp_helpbackenddb.cxx                   |    6 -
 desktop/source/deployment/registry/help/dp_helpbackenddb.hxx                   |    4 
 desktop/source/deployment/registry/package/dp_package.cxx                      |    6 -
 desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx               |    2 
 editeng/inc/editattr.hxx                                                       |   10 +-
 editeng/inc/pch/precompiled_editeng.hxx                                        |    2 
 editeng/qa/unit/core-test.cxx                                                  |    2 
 editeng/source/editeng/editeng.cxx                                             |    2 
 editeng/source/editeng/impedit.hxx                                             |    4 
 editeng/source/misc/svxacorr.cxx                                               |   10 +-
 editeng/source/outliner/outleeng.cxx                                           |    2 
 editeng/source/outliner/outleeng.hxx                                           |    2 
 editeng/source/outliner/outliner.cxx                                           |    2 
 editeng/source/uno/unoedprx.cxx                                                |    2 
 editeng/source/uno/unofored.cxx                                                |    2 
 editeng/source/uno/unoforou.cxx                                                |    2 
 editeng/source/uno/unotext.cxx                                                 |    6 -
 emfio/inc/pch/precompiled_emfio.hxx                                            |    2 
 emfio/source/reader/wmfreader.cxx                                              |    6 -
 filter/source/msfilter/svdfppt.cxx                                             |   14 +--
 filter/source/pdf/impdialog.cxx                                                |    2 
 forms/inc/pch/precompiled_frm.hxx                                              |    2 
 forms/source/component/ListBox.cxx                                             |    4 
 framework/inc/pch/precompiled_fwe.hxx                                          |    2 
 framework/inc/pch/precompiled_fwk.hxx                                          |    2 
 framework/inc/pch/precompiled_fwl.hxx                                          |    2 
 framework/source/classes/taskcreator.cxx                                       |    2 
 framework/source/services/substitutepathvars.cxx                               |    2 
 idlc/inc/astexpression.hxx                                                     |    4 
 idlc/inc/astsequence.hxx                                                       |    2 
 include/comphelper/configuration.hxx                                           |   18 +--
 include/comphelper/logging.hxx                                                 |    4 
 include/comphelper/unwrapargs.hxx                                              |    6 -
 include/connectivity/sqlerror.hxx                                              |    8 -
 include/cppcanvas/renderer.hxx                                                 |   18 +--
 include/dbaccess/genericcontroller.hxx                                         |   10 +-
 include/editeng/editeng.hxx                                                    |    4 
 include/editeng/outliner.hxx                                                   |   16 +--
 include/editeng/svxacorr.hxx                                                   |    4 
 include/editeng/unoedprx.hxx                                                   |    2 
 include/editeng/unoedsrc.hxx                                                   |    2 
 include/editeng/unofored.hxx                                                   |    2 
 include/editeng/unoforou.hxx                                                   |    2 
 include/editeng/unotext.hxx                                                    |    2 
 include/filter/msfilter/msdffimp.hxx                                           |    6 -
 include/filter/msfilter/svdfppt.hxx                                            |   10 +-
 include/o3tl/any.hxx                                                           |   38 ++++----
 include/o3tl/optional.hxx                                                      |   46 ++++++++++
 include/oox/helper/helper.hxx                                                  |    2 
 include/sax/tools/converter.hxx                                                |    4 
 include/sfx2/dinfdlg.hxx                                                       |    4 
 include/sfx2/sidebar/SidebarController.hxx                                     |    6 -
 include/svtools/table/tablemodel.hxx                                           |   22 ++--
 include/svx/ClassificationEditView.hxx                                         |    2 
 include/svx/svdomeas.hxx                                                       |    2 
 include/svx/svdotext.hxx                                                       |    2 
 include/svx/svdoutl.hxx                                                        |    2 
 include/toolkit/controls/unocontrols.hxx                                       |   14 +--
 include/unotools/historyoptions.hxx                                            |    4 
 include/vcl/fontcapabilities.hxx                                               |    6 -
 include/vcl/outdevstate.hxx                                                    |   18 +--
 include/vcl/settings.hxx                                                       |    4 
 include/vcl/threadex.hxx                                                       |    6 -
 include/vcl/treelistentry.hxx                                                  |    8 -
 jvmfwk/inc/elements.hxx                                                        |   22 ++--
 jvmfwk/inc/fwkbase.hxx                                                         |    4 
 jvmfwk/source/elements.cxx                                                     |   26 ++---
 jvmfwk/source/fwkbase.cxx                                                      |    2 
 libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx                    |    2 
 libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx                       |    2 
 libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx            |    2 
 libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx                          |    2 
 libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx                       |    4 
 libreofficekit/qa/tilebench/tilebench.cxx                                      |    2 
 officecfg/registry/cppheader.xsl                                               |    4 
 oox/inc/drawingml/table/tablestylepart.hxx                                     |   10 +-
 oox/inc/drawingml/textbodyproperties.hxx                                       |   12 +-
 oox/inc/drawingml/textparagraphproperties.hxx                                  |   14 +--
 oox/inc/pch/precompiled_oox.hxx                                                |    2 
 oox/source/drawingml/shape.cxx                                                 |    4 
 oox/source/drawingml/textparagraphproperties.cxx                               |    4 
 oox/source/drawingml/textparagraphpropertiescontext.cxx                        |    4 
 oox/source/shape/WpsContext.cxx                                                |    4 
 oox/source/vml/vmlshape.cxx                                                    |    6 -
 pch/inc/pch/precompiled_system.hxx                                             |    4 
 reportdesign/inc/pch/precompiled_rpt.hxx                                       |    2 
 reportdesign/inc/pch/precompiled_rptui.hxx                                     |    2 
 sax/source/tools/converter.cxx                                                 |    6 -
 sc/inc/chgtrack.hxx                                                            |    4 
 sc/inc/colorscale.hxx                                                          |    2 
 sc/inc/conditio.hxx                                                            |    4 
 sc/inc/dpsave.hxx                                                              |   18 +--
 sc/inc/dptabsrc.hxx                                                            |   18 +--
 sc/inc/editutil.hxx                                                            |    6 -
 sc/inc/fillinfo.hxx                                                            |    4 
 sc/inc/fonthelper.hxx                                                          |   30 +++---
 sc/inc/funcdesc.hxx                                                            |    6 -
 sc/inc/paramisc.hxx                                                            |    4 
 sc/inc/patattr.hxx                                                             |    2 
 sc/inc/pch/precompiled_sc.hxx                                                  |    4 
 sc/inc/pch/precompiled_scfilt.hxx                                              |    2 
 sc/inc/sheetevents.hxx                                                         |    4 
 sc/qa/unit/pivottable_filters_test.cxx                                         |    2 
 sc/source/core/data/colorscale.cxx                                             |    8 -
 sc/source/core/data/dpobject.cxx                                               |    2 
 sc/source/core/data/dpsave.cxx                                                 |   14 +--
 sc/source/core/data/dptabres.cxx                                               |    8 -
 sc/source/core/data/dptabsrc.cxx                                               |   10 +-
 sc/source/core/data/sheetevents.cxx                                            |    8 -
 sc/source/core/tool/editutil.cxx                                               |    6 -
 sc/source/filter/excel/xepivot.cxx                                             |    8 -
 sc/source/filter/excel/xepivotxml.cxx                                          |    2 
 sc/source/filter/excel/xlpivot.cxx                                             |    2 
 sc/source/filter/html/htmlpars.cxx                                             |    2 
 sc/source/filter/inc/eeparser.hxx                                              |    8 -
 sc/source/filter/inc/lotfntbf.hxx                                              |    4 
 sc/source/filter/inc/xlpivot.hxx                                               |    4 
 sc/source/filter/xml/XMLExportDataPilot.cxx                                    |   10 +-
 sc/source/filter/xml/XMLExportDataPilot.hxx                                    |    4 
 sc/source/filter/xml/XMLStylesImportHelper.cxx                                 |    6 -
 sc/source/filter/xml/XMLStylesImportHelper.hxx                                 |   16 +--
 sc/source/filter/xml/XMLTableShapeImportHelper.cxx                             |    2 
 sc/source/filter/xml/xmlcelli.cxx                                              |   10 +-
 sc/source/filter/xml/xmlcelli.hxx                                              |   14 +--
 sc/source/ui/Accessibility/AccessibleDocument.cxx                              |   16 +--
 sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx                 |    4 
 sc/source/ui/dbgui/pvfundlg.cxx                                                |    2 
 sc/source/ui/inc/RandomNumberGeneratorDialog.hxx                               |    4 
 sc/source/ui/inc/gridwin.hxx                                                   |    2 
 sc/source/ui/pagedlg/scuitphfedit.cxx                                          |    4 
 sc/source/ui/unoobj/dapiuno.cxx                                                |    4 
 sc/source/ui/unoobj/fielduno.cxx                                               |    4 
 sc/source/ui/view/dbfunc3.cxx                                                  |    2 
 sc/source/ui/view/output.cxx                                                   |   14 +--
 sd/inc/pch/precompiled_sd.hxx                                                  |    4 
 sd/inc/pch/precompiled_sdui.hxx                                                |    2 
 sd/source/filter/ppt/pptin.cxx                                                 |    4 
 sd/source/ui/app/sdmod2.cxx                                                    |    2 
 sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx                   |    6 -
 sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx                  |   10 +-
 sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx              |    4 
 sfx2/inc/pch/precompiled_sfx.hxx                                               |    2 
 sfx2/source/appl/newhelp.cxx                                                   |    2 
 sfx2/source/appl/sfxpicklist.cxx                                               |    2 
 sfx2/source/doc/SfxDocumentMetaData.cxx                                        |    6 -
 sfx2/source/view/impviewframe.hxx                                              |    2 
 sfx2/source/view/viewfrm.cxx                                                   |    6 -
 slideshow/inc/pch/precompiled_slideshow.hxx                                    |    2 
 slideshow/source/engine/activities/activitiesfactory.cxx                       |    6 -
 slideshow/source/engine/activities/activitybase.hxx                            |    2 
 slideshow/source/engine/activities/activityparameters.hxx                      |    6 -
 slideshow/source/engine/animationnodes/animationbasenode.cxx                   |    4 
 slideshow/source/engine/shapes/drawshape.hxx                                   |    4 
 slideshow/source/engine/shapes/viewshape.cxx                                   |    2 
 slideshow/source/engine/slideshowimpl.cxx                                      |    8 -
 slideshow/source/engine/transitions/combtransition.cxx                         |    2 
 slideshow/source/engine/transitions/combtransition.hxx                         |    2 
 slideshow/source/engine/transitions/slidechangebase.cxx                        |    6 -
 slideshow/source/engine/transitions/slidechangebase.hxx                        |    8 -
 slideshow/source/engine/transitions/slidetransitionfactory.cxx                 |   34 +++----
 slideshow/source/inc/activitiesfactory.hxx                                     |    6 -
 slideshow/source/inc/animatedsprite.hxx                                        |    6 -
 starmath/inc/pch/precompiled_sm.hxx                                            |    2 
 starmath/source/accessibility.cxx                                              |    2 
 starmath/source/accessibility.hxx                                              |    2 
 svgio/inc/svgnode.hxx                                                          |   10 +-
 svl/inc/pch/precompiled_svl.hxx                                                |    2 
 svtools/inc/pch/precompiled_svt.hxx                                            |    2 
 svtools/source/misc/sampletext.cxx                                             |    4 
 svtools/source/table/gridtablerenderer.cxx                                     |   14 +--
 svtools/source/table/tablecontrol_impl.cxx                                     |   40 ++++----
 svtools/source/uno/svtxgridcontrol.cxx                                         |    4 
 svtools/source/uno/unocontroltablemodel.cxx                                    |   42 ++++-----
 svtools/source/uno/unocontroltablemodel.hxx                                    |   20 ++--
 svx/inc/pch/precompiled_svx.hxx                                                |    2 
 svx/inc/pch/precompiled_svxcore.hxx                                            |    2 
 svx/source/accessibility/AccessibleEmptyEditSource.cxx                         |    2 
 svx/source/dialog/ClassificationEditView.cxx                                   |    2 
 svx/source/dialog/weldeditview.cxx                                             |    8 -
 svx/source/form/fmmodel.cxx                                                    |    4 
 svx/source/svdraw/svdedxv.cxx                                                  |    4 
 svx/source/svdraw/svdobj.cxx                                                   |    6 -
 svx/source/svdraw/svdomeas.cxx                                                 |    2 
 svx/source/svdraw/svdotxfl.cxx                                                 |    2 
 svx/source/svdraw/svdoutl.cxx                                                  |    2 
 sw/inc/anchoreddrawobject.hxx                                                  |    6 -
 sw/inc/crsrsh.hxx                                                              |    2 
 sw/inc/fmtpdsc.hxx                                                             |    8 -
 sw/inc/pch/precompiled_msword.hxx                                              |    2 
 sw/inc/pch/precompiled_sw.hxx                                                  |    4 
 sw/inc/pch/precompiled_swui.hxx                                                |    2 
 sw/inc/pch/precompiled_vbaswobj.hxx                                            |    2 
 sw/inc/redline.hxx                                                             |    4 
 sw/inc/swabstdlg.hxx                                                           |    4 
 sw/inc/undobj.hxx                                                              |    4 
 sw/source/core/crsr/BlockCursor.hxx                                            |   10 +-
 sw/source/core/crsr/bookmrk.cxx                                                |    2 
 sw/source/core/crsr/findattr.cxx                                               |    8 -
 sw/source/core/crsr/findtxt.cxx                                                |    8 -
 sw/source/core/doc/docdraw.cxx                                                 |    2 
 sw/source/core/frmedt/fedesc.cxx                                               |    2 
 sw/source/core/frmedt/fews.cxx                                                 |    2 
 sw/source/core/inc/UndoDelete.hxx                                              |    4 
 sw/source/core/inc/UndoInsert.hxx                                              |   12 +-
 sw/source/core/inc/swfont.hxx                                                  |   26 ++---
 sw/source/core/inc/wrong.hxx                                                   |    4 
 sw/source/core/layout/atrfrm.cxx                                               |    4 
 sw/source/core/layout/calcmove.cxx                                             |    4 
 sw/source/core/layout/flowfrm.cxx                                              |    2 
 sw/source/core/layout/laycache.cxx                                             |    2 
 sw/source/core/layout/newfrm.cxx                                               |    2 
 sw/source/core/layout/pagechg.cxx                                              |    2 
 sw/source/core/layout/paintfrm.cxx                                             |    2 
 sw/source/core/layout/trvlfrm.cxx                                              |    4 
 sw/source/core/text/wrong.cxx                                                  |   10 +-
 sw/source/core/tox/tox.cxx                                                     |    8 -
 sw/source/core/txtnode/swfont.cxx                                              |    8 -
 sw/source/core/txtnode/txatbase.cxx                                            |    4 
 sw/source/core/undo/undel.cxx                                                  |    2 
 sw/source/core/undo/unins.cxx                                                  |   10 +-
 sw/source/filter/html/htmlatr.cxx                                              |    6 -
 sw/source/filter/html/wrthtml.hxx                                              |    2 
 sw/source/filter/ww8/attributeoutputbase.hxx                                   |    4 
 sw/source/filter/ww8/docxattributeoutput.cxx                                   |   20 ++--
 sw/source/filter/ww8/docxattributeoutput.hxx                                   |    6 -
 sw/source/filter/ww8/docxtablestyleexport.cxx                                  |    6 -
 sw/source/filter/ww8/rtfattributeoutput.cxx                                    |    4 
 sw/source/filter/ww8/rtfattributeoutput.hxx                                    |    6 -
 sw/source/filter/ww8/rtfexport.cxx                                             |    2 
 sw/source/filter/ww8/wrtw8sty.cxx                                              |    4 
 sw/source/filter/ww8/wrtww8.hxx                                                |    6 -
 sw/source/filter/ww8/ww8attributeoutput.hxx                                    |    2 
 sw/source/filter/xml/xmlexpit.cxx                                              |    2 
 sw/source/ui/dialog/swdlgfact.cxx                                              |    2 
 sw/source/ui/dialog/swdlgfact.hxx                                              |    4 
 sw/source/ui/misc/titlepage.cxx                                                |    4 
 sw/source/ui/table/tabledlg.cxx                                                |    6 -
 sw/source/uibase/app/appenv.cxx                                                |    2 
 sw/source/uibase/docvw/PageBreakWin.cxx                                        |    2 
 sw/source/uibase/inc/PageBreakWin.hxx                                          |    6 -
 sw/source/uibase/inc/break.hxx                                                 |    6 -
 sw/source/uibase/inc/edtwin.hxx                                                |    2 
 sw/source/uibase/inc/toxmgr.hxx                                                |   38 ++++----
 sw/source/uibase/inc/wrtsh.hxx                                                 |    4 
 sw/source/uibase/shells/textsh1.cxx                                            |    2 
 sw/source/uibase/uiview/viewsrch.cxx                                           |    2 
 sw/source/uibase/utlui/uitool.cxx                                              |    2 
 sw/source/uibase/wrtsh/wrtsh1.cxx                                              |    2 
 toolkit/source/controls/unocontrols.cxx                                        |   22 ++--
 ucb/source/ucp/ext/ucpext_content.hxx                                          |    6 -
 unotools/inc/pch/precompiled_utl.hxx                                           |    2 
 unotools/source/config/historyoptions.cxx                                      |    8 -
 unoxml/source/rdf/librdf_repository.cxx                                        |    8 -
 vbahelper/inc/pch/precompiled_msforms.hxx                                      |    2 
 vcl/inc/bitmapwriteaccess.hxx                                                  |    6 -
 vcl/inc/fontinstance.hxx                                                       |    4 
 vcl/inc/pch/precompiled_vcl.hxx                                                |    2 
 vcl/inc/sft.hxx                                                                |    4 
 vcl/inc/svdata.hxx                                                             |    8 -
 vcl/inc/unx/screensaverinhibitor.hxx                                           |   14 +--
 vcl/inc/wall2.hxx                                                              |    4 
 vcl/inc/window.h                                                               |   14 +--
 vcl/qt5/Qt5Frame.cxx                                                           |    4 
 vcl/source/app/settings.cxx                                                    |    6 -
 vcl/source/control/quickselectionengine.cxx                                    |    4 
 vcl/source/fontsubset/sft.cxx                                                  |    4 
 vcl/unx/generic/window/salframe.cxx                                            |    2 
 vcl/unx/generic/window/screensaverinhibitor.cxx                                |    4 
 vcl/unx/gtk3/gtk3gtkframe.cxx                                                  |    4 
 vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx                                      |    2 
 vcl/unx/kf5/KF5SalFrame.cxx                                                    |    2 
 vcl/win/gdi/salnativewidgets-luna.cxx                                          |    2 
 vcl/win/window/salframe.cxx                                                    |    2 
 writerfilter/inc/pch/precompiled_writerfilter.hxx                              |    2 
 writerfilter/source/dmapper/DomainMapper.cxx                                   |    4 
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx                       |   26 ++---
 writerfilter/source/dmapper/DomainMapperTableManager.cxx                       |    6 -
 writerfilter/source/dmapper/DomainMapper_Impl.cxx                              |   26 ++---
 writerfilter/source/dmapper/DomainMapper_Impl.hxx                              |   10 +-
 writerfilter/source/dmapper/GraphicImport.cxx                                  |    8 -
 writerfilter/source/dmapper/NumberingManager.cxx                               |    4 
 writerfilter/source/dmapper/NumberingManager.hxx                               |    2 
 writerfilter/source/dmapper/PropertyMap.cxx                                    |   12 +-
 writerfilter/source/dmapper/PropertyMap.hxx                                    |    6 -
 writerfilter/source/dmapper/SdtHelper.cxx                                      |    4 
 writerfilter/source/dmapper/StyleSheetTable.cxx                                |    6 -
 writerfilter/source/dmapper/TextEffectsHandler.hxx                             |    6 -
 writerfilter/source/rtftok/rtfdocumentimpl.hxx                                 |    6 -
 writerfilter/source/rtftok/rtfsdrimport.cxx                                    |   22 ++--
 xmlscript/inc/pch/precompiled_xmlscript.hxx                                    |    2 
 364 files changed, 1110 insertions(+), 1064 deletions(-)

New commits:
commit 7e403195e574be5174815a51cf5c42f06f76a87a
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Sat Nov 30 17:48:32 2019 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Sun Dec 1 14:57:16 2019 +0100

    Introduce o3tl::optional as an alias for std::optional
    
    ...with a boost::optional fallback for Xcode < 10 (as std::optional is only
    available starting with Xcode 10 according to
    <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS
    and macOS is still Xcode 9.3 according to README.md).  And mechanically rewrite
    all code to use o3tl::optional instead of boost::optional.
    
    One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per
    fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus
    -Werror=maybe-uninitialized" should no longer be necessary (and whose check
    happened to no longer trigger for GCC 10 trunk, even though that compiler would
    still emit bogus -Wmaybe-uninitialized for uses of boost::optional under
    --enable-optimized, which made me ponder whether this switch from
    boost::optional to std::optional would be a useful thing to do; I keep that
    configure.ac check for now, though, and will only remove it in a follow up
    commit).
    
    Another longer-term benefit is that the code is now already in good shape for an
    eventual switch to std::optional (a switch we would have done anyway once we no
    longer need to support Xcode < 10).
    
    Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses
    boost::property_tree::ptree::get_child_optional returning boost::optional, so
    let it keep using boost::optional for now.
    
    After a number of preceding commits have paved the way for this change, this
    commit is completely mechanical, done with
    
    > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g'
    
    (before committing include/o3tl/optional.hxx, and relying on some GNU features).
    It excludes some files where mention of boost::optional et al should apparently
    not be changed (and the sub-repo directory stubs).  It turned out that all uses
    of boost::none across the code base were in combination with boost::optional, so
    had all to be rewritten as o3tl::nullopt.
    
    Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b
    Reviewed-on: https://gerrit.libreoffice.org/84128
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/accessibility/inc/pch/precompiled_acc.hxx b/accessibility/inc/pch/precompiled_acc.hxx
index e83c1a84f862..fe3ceebf5770 100644
--- a/accessibility/inc/pch/precompiled_acc.hxx
+++ b/accessibility/inc/pch/precompiled_acc.hxx
@@ -48,7 +48,7 @@
 #include <typeinfo>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/basctl/inc/pch/precompiled_basctl.hxx b/basctl/inc/pch/precompiled_basctl.hxx
index d7951c45322b..f6db030492d1 100644
--- a/basctl/inc/pch/precompiled_basctl.hxx
+++ b/basctl/inc/pch/precompiled_basctl.hxx
@@ -52,7 +52,7 @@
 #include <utility>
 #include <vector>
 #include <boost/functional/hash.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/basctl/source/inc/dlgedobj.hxx b/basctl/source/inc/dlgedobj.hxx
index 8442747bce78..73b3039550d8 100644
--- a/basctl/source/inc/dlgedobj.hxx
+++ b/basctl/source/inc/dlgedobj.hxx
@@ -25,7 +25,7 @@
 #include <com/sun/star/container/XContainerListener.hpp>
 #include <svx/svdouno.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 #include <map>
 
@@ -158,7 +158,7 @@ private:
     DlgEditor& rDlgEditor;
     std::vector<DlgEdObj*> pChildren;
 
-    mutable ::boost::optional< css::awt::DeviceInfo >   mpDeviceInfo;
+    mutable ::o3tl::optional< css::awt::DeviceInfo >   mpDeviceInfo;
 
 private:
     explicit DlgEdForm(
diff --git a/basic/inc/pch/precompiled_sb.hxx b/basic/inc/pch/precompiled_sb.hxx
index ab5c6ce4f40e..203b7562b7f6 100644
--- a/basic/inc/pch/precompiled_sb.hxx
+++ b/basic/inc/pch/precompiled_sb.hxx
@@ -29,7 +29,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/basic/source/sbx/sbxarray.cxx b/basic/source/sbx/sbxarray.cxx
index f8bbafbc64fd..6a3cc720c91d 100644
--- a/basic/source/sbx/sbxarray.cxx
+++ b/basic/source/sbx/sbxarray.cxx
@@ -24,14 +24,14 @@
 #include <basic/sbx.hxx>
 #include <runtime.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 using namespace std;
 
 struct SbxVarEntry
 {
     SbxVariableRef mpVar;
-    boost::optional<OUString> maAlias;
+    o3tl::optional<OUString> maAlias;
 };
 
 
diff --git a/canvas/source/directx/dx_config.hxx b/canvas/source/directx/dx_config.hxx
index e93ef28d60ca..86c719fed1b2 100644
--- a/canvas/source/directx/dx_config.hxx
+++ b/canvas/source/directx/dx_config.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_CANVAS_SOURCE_DIRECTX_DX_CONFIG_HXX
 
 #include <unotools/configitem.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <set>
 
 namespace basegfx { class B2IVector; }
@@ -72,7 +72,7 @@ namespace dxcanvas
         virtual void               ImplCommit() override;
         typedef std::set< DeviceInfo > ValueSet;
         ValueSet                   maValues;
-        boost::optional<sal_Int32> maMaxTextureSize;
+        o3tl::optional<sal_Int32> maMaxTextureSize;
         bool                       mbBlacklistCurrentDevice;
         bool                       mbValuesDirty;
     };
diff --git a/chart2/inc/pch/precompiled_chartcontroller.hxx b/chart2/inc/pch/precompiled_chartcontroller.hxx
index febe636487c5..da1c5a3301c2 100644
--- a/chart2/inc/pch/precompiled_chartcontroller.hxx
+++ b/chart2/inc/pch/precompiled_chartcontroller.hxx
@@ -48,7 +48,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/chart2/inc/pch/precompiled_chartcore.hxx b/chart2/inc/pch/precompiled_chartcore.hxx
index 1ae17f73c868..f4d88bab9354 100644
--- a/chart2/inc/pch/precompiled_chartcore.hxx
+++ b/chart2/inc/pch/precompiled_chartcore.hxx
@@ -33,7 +33,7 @@
 #include <string_view>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/chart2/source/controller/inc/CharacterPropertyItemConverter.hxx b/chart2/source/controller/inc/CharacterPropertyItemConverter.hxx
index 311ffddaae63..657e3d1824e4 100644
--- a/chart2/source/controller/inc/CharacterPropertyItemConverter.hxx
+++ b/chart2/source/controller/inc/CharacterPropertyItemConverter.hxx
@@ -22,7 +22,7 @@
 #include "ItemConverter.hxx"
 #include <com/sun/star/awt/Size.hpp>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace chart { namespace wrapper {
 
@@ -52,7 +52,7 @@ private:
 
     OUString m_aRefSizePropertyName;
     css::uno::Reference<css::beans::XPropertySet> m_xRefSizePropSet;
-    boost::optional<css::awt::Size> m_pRefSize;
+    o3tl::optional<css::awt::Size> m_pRefSize;
 };
 
 }}
diff --git a/chart2/source/view/axes/VAxisProperties.hxx b/chart2/source/view/axes/VAxisProperties.hxx
index 45af3f1a0bc5..c9bd687909df 100644
--- a/chart2/source/view/axes/VAxisProperties.hxx
+++ b/chart2/source/view/axes/VAxisProperties.hxx
@@ -30,7 +30,7 @@
 #include <com/sun/star/uno/Any.hxx>
 
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace chart { class ExplicitCategoriesProvider; }
 namespace com { namespace sun { namespace star { namespace beans { class XPropertySet; } } } }
@@ -101,8 +101,8 @@ struct AxisProperties final
     css::chart::ChartAxisLabelPosition m_eLabelPos;
     css::chart::ChartAxisMarkPosition  m_eTickmarkPos;
 
-    boost::optional<double> m_pfMainLinePositionAtOtherAxis;
-    boost::optional<double> m_pfExrtaLinePositionAtOtherAxis;
+    o3tl::optional<double> m_pfMainLinePositionAtOtherAxis;
+    o3tl::optional<double> m_pfExrtaLinePositionAtOtherAxis;
 
     bool        m_bCrossingAxisHasReverseDirection;
     bool        m_bCrossingAxisIsCategoryAxes;
diff --git a/comphelper/inc/pch/precompiled_comphelper.hxx b/comphelper/inc/pch/precompiled_comphelper.hxx
index e94b3b689a01..61ff03390b45 100644
--- a/comphelper/inc/pch/precompiled_comphelper.hxx
+++ b/comphelper/inc/pch/precompiled_comphelper.hxx
@@ -45,7 +45,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/conditn.hxx>
diff --git a/comphelper/qa/unit/variadictemplates.cxx b/comphelper/qa/unit/variadictemplates.cxx
index 20d47f89758a..587bded24702 100644
--- a/comphelper/qa/unit/variadictemplates.cxx
+++ b/comphelper/qa/unit/variadictemplates.cxx
@@ -7,7 +7,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <sal/types.h>
 #include <comphelper/unwrapargs.hxx>
 #include <cppunit/TestAssert.h>
@@ -56,7 +56,7 @@ void extract(
 template <typename T>
 void extract(
     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> const& seq,
-    sal_Int32 nArg, ::boost::optional<T> & v,
+    sal_Int32 nArg, ::o3tl::optional<T> & v,
     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>
     const& xErrorContext )
 {
@@ -104,22 +104,22 @@ void VariadicTemplatesTest::testUnwrapArgs() {
     ::com::sun::star::uno::Any tmp9(
         ::com::sun::star::uno::makeAny( tmp4 )
         );
-    ::boost::optional< ::com::sun::star::uno::Any > tmp10(
+    ::o3tl::optional< ::com::sun::star::uno::Any > tmp10(
         ::com::sun::star::uno::makeAny( tmp5 )
         );
-    ::boost::optional< ::com::sun::star::uno::Any > tmp11(
+    ::o3tl::optional< ::com::sun::star::uno::Any > tmp11(
         ::com::sun::star::uno::makeAny( tmp1 )
         );
 
     // test equality with the baseline and template specialization with
-    // boost::optional< T >
+    // o3tl::optional< T >
     try {
         ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > seq1(
             static_cast< sal_uInt32 >( 5 ) );
         ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > seq2(
             static_cast< sal_uInt32 >( 5 ) );
 
-        // tmp11 should be ignored as it is ::boost::optional< T >
+        // tmp11 should be ignored as it is ::o3tl::optional< T >
         ::comphelper::unwrapArgs( seq1, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11 );
         unwrapArgsBaseline( seq2, tmp6, tmp7, tmp8, tmp9, tmp10 );
         ::com::sun::star::uno::Any* p1 = seq1.getArray();
diff --git a/comphelper/source/officeinstdir/officeinstallationdirectories.hxx b/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
index c71c2ce5f40c..256315fb2851 100644
--- a/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
+++ b/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
@@ -26,7 +26,7 @@
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/util/XOfficeInstallationDirectories.hpp>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace com::sun::star::uno { class XComponentContext; }
 
@@ -72,8 +72,8 @@ private:
     void initDirs();
 
     css::uno::Reference< css::uno::XComponentContext >    m_xCtx;
-    boost::optional<OUString>                  m_xOfficeBrandDir;
-    boost::optional<OUString>                  m_xUserDir;
+    o3tl::optional<OUString>                  m_xOfficeBrandDir;
+    o3tl::optional<OUString>                  m_xUserDir;
 };
 
 } // namespace comphelper
diff --git a/compilerplugins/clang/constantparam.numbers.results b/compilerplugins/clang/constantparam.numbers.results
index 84b1951c6344..ef6f9ae21d47 100644
--- a/compilerplugins/clang/constantparam.numbers.results
+++ b/compilerplugins/clang/constantparam.numbers.results
@@ -2675,7 +2675,7 @@ slideshow/source/engine/transitions/checkerboardwipe.hxx:36
     int unitsPerEdge
     10
 slideshow/source/engine/transitions/combtransition.hxx:42
-    void slideshow::internal::CombTransition::CombTransition(const class boost::optional<class std::shared_ptr<class slideshow::internal::Slide> > &,const class std::shared_ptr<class slideshow::internal::Slide> &,const class std::shared_ptr<class slideshow::internal::SoundPlayer> &,const class slideshow::internal::UnoViewContainer &,class slideshow::internal::ScreenUpdater &,class slideshow::internal::EventMultiplexer &,const class basegfx::B2DVector &,int)
+    void slideshow::internal::CombTransition::CombTransition(const class o3tl::optional<class std::shared_ptr<class slideshow::internal::Slide> > &,const class std::shared_ptr<class slideshow::internal::Slide> &,const class std::shared_ptr<class slideshow::internal::SoundPlayer> &,const class slideshow::internal::UnoViewContainer &,class slideshow::internal::ScreenUpdater &,class slideshow::internal::EventMultiplexer &,const class basegfx::B2DVector &,int)
     int nNumStripes
     24
 slideshow/source/engine/transitions/snakewipe.hxx:55
diff --git a/compilerplugins/clang/store/stylepolice.cxx b/compilerplugins/clang/store/stylepolice.cxx
index e70b74b2e43c..87a9e4437901 100644
--- a/compilerplugins/clang/store/stylepolice.cxx
+++ b/compilerplugins/clang/store/stylepolice.cxx
@@ -111,7 +111,7 @@ bool StylePolice::VisitVarDecl(const VarDecl * varDecl)
     if (!qt->isPointerType() && !qt->isArrayType() && !qt->isFunctionPointerType() && !qt->isMemberPointerType()
         && matchPointerVar(name)
         && !startswith(typeName, "boost::intrusive_ptr")
-        && !startswith(typeName, "boost::optional")
+        && !startswith(typeName, "o3tl::optional")
         && !startswith(typeName, "boost::shared_ptr")
         && !startswith(typeName, "com::sun::star::uno::Reference")
         && !startswith(typeName, "cppu::OInterfaceIteratorHelper")
diff --git a/compilerplugins/clang/unusedmethods.results b/compilerplugins/clang/unusedmethods.results
index 5ed289bf5751..39f442e6206d 100644
--- a/compilerplugins/clang/unusedmethods.results
+++ b/compilerplugins/clang/unusedmethods.results
@@ -533,7 +533,7 @@ include/framework/addonsoptions.hxx:219
 include/i18nlangtag/languagetag.hxx:263
     enum LanguageTag::ScriptType LanguageTag::getScriptType() const
 include/o3tl/any.hxx:155
-    class boost::optional<const struct o3tl::detail::Void> o3tl::tryAccess(const class com::sun::star::uno::Any &)
+    class o3tl::optional<const struct o3tl::detail::Void> o3tl::tryAccess(const class com::sun::star::uno::Any &)
 include/o3tl/cow_wrapper.hxx:323
     type-parameter-?-? * o3tl::cow_wrapper::get()
 include/o3tl/enumarray.hxx:105
@@ -1185,7 +1185,7 @@ sc/source/ui/inc/datatableview.hxx:114
 sc/source/ui/inc/impex.hxx:93
      ScImportExport::ScImportExport(class ScDocument *,const class rtl::OUString &)
 sc/source/ui/inc/RandomNumberGeneratorDialog.hxx:64
-    void ScRandomNumberGeneratorDialog::GenerateNumbers(type-parameter-?-? &,const char *,const class boost::optional<signed char>)
+    void ScRandomNumberGeneratorDialog::GenerateNumbers(type-parameter-?-? &,const char *,const class o3tl::optional<signed char>)
 sc/source/ui/inc/TableFillingAndNavigationTools.hxx:121
     unsigned long DataRangeIterator::size()
 sc/source/ui/inc/viewdata.hxx:410
diff --git a/connectivity/inc/pch/precompiled_dbtools.hxx b/connectivity/inc/pch/precompiled_dbtools.hxx
index 18c96b84847e..ea2bc6c2e6cd 100644
--- a/connectivity/inc/pch/precompiled_dbtools.hxx
+++ b/connectivity/inc/pch/precompiled_dbtools.hxx
@@ -35,7 +35,7 @@
 #include <string_view>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/connectivity/inc/pch/precompiled_file.hxx b/connectivity/inc/pch/precompiled_file.hxx
index 3b431975dc9a..45f42158b841 100644
--- a/connectivity/inc/pch/precompiled_file.hxx
+++ b/connectivity/inc/pch/precompiled_file.hxx
@@ -40,7 +40,7 @@
 #include <type_traits>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/connectivity/inc/pch/precompiled_postgresql-sdbc-impl.hxx b/connectivity/inc/pch/precompiled_postgresql-sdbc-impl.hxx
index 9bb8f375b394..b27bca84af1b 100644
--- a/connectivity/inc/pch/precompiled_postgresql-sdbc-impl.hxx
+++ b/connectivity/inc/pch/precompiled_postgresql-sdbc-impl.hxx
@@ -22,7 +22,7 @@
 
 #if PCH_LEVEL >= 1
 #include <string.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/module.h>
diff --git a/connectivity/source/commontools/dbmetadata.cxx b/connectivity/source/commontools/dbmetadata.cxx
index d345aec78cac..6d539a599f43 100644
--- a/connectivity/source/commontools/dbmetadata.cxx
+++ b/connectivity/source/commontools/dbmetadata.cxx
@@ -39,7 +39,7 @@
 #include <sal/macros.h>
 #include <sal/log.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 
 namespace dbtools
@@ -72,8 +72,8 @@ namespace dbtools
         Reference< XDatabaseMetaData >  xConnectionMetaData;
         ::connectivity::DriversConfig   aDriverConfig;
 
-        ::boost::optional< OUString >    sCachedIdentifierQuoteString;
-        ::boost::optional< OUString >    sCachedCatalogSeparator;
+        ::o3tl::optional< OUString >    sCachedIdentifierQuoteString;
+        ::o3tl::optional< OUString >    sCachedCatalogSeparator;
 
         DatabaseMetaData_Impl()
             :xConnection()
@@ -155,7 +155,7 @@ namespace dbtools
 
 
         const OUString& lcl_getConnectionStringSetting(
-            const DatabaseMetaData_Impl& _metaData, ::boost::optional< OUString >& _cachedSetting,
+            const DatabaseMetaData_Impl& _metaData, ::o3tl::optional< OUString >& _cachedSetting,
             OUString (SAL_CALL XDatabaseMetaData::*_getter)() )
         {
             if ( !_cachedSetting )
diff --git a/connectivity/source/inc/java/io/Reader.hxx b/connectivity/source/inc/java/io/Reader.hxx
index 592d476def14..45d67bbd9b11 100644
--- a/connectivity/source/inc/java/io/Reader.hxx
+++ b/connectivity/source/inc/java/io/Reader.hxx
@@ -23,7 +23,7 @@
 #include <java/lang/Object.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <com/sun/star/io/XInputStream.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace connectivity
 {
@@ -36,7 +36,7 @@ namespace connectivity
     // static Data for the Class
         static jclass theClass;
         virtual ~java_io_Reader() override;
-        boost::optional<char> m_buf;
+        o3tl::optional<char> m_buf;
     public:
         virtual jclass getMyClass() const override;
         // a Constructor, that is needed for when Returning the Object is needed:
diff --git a/cppcanvas/inc/pch/precompiled_cppcanvas.hxx b/cppcanvas/inc/pch/precompiled_cppcanvas.hxx
index cb75acfd3411..557a9c63bdf4 100644
--- a/cppcanvas/inc/pch/precompiled_cppcanvas.hxx
+++ b/cppcanvas/inc/pch/precompiled_cppcanvas.hxx
@@ -41,7 +41,7 @@
 #include <type_traits>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/cppcanvas/source/inc/canvasgraphichelper.hxx b/cppcanvas/source/inc/canvasgraphichelper.hxx
index 1a61366a8e5d..48e0b9c35cd2 100644
--- a/cppcanvas/source/inc/canvasgraphichelper.hxx
+++ b/cppcanvas/source/inc/canvasgraphichelper.hxx
@@ -26,7 +26,7 @@
 #include <cppcanvas/canvasgraphic.hxx>
 #include <cppcanvas/canvas.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace com { namespace sun { namespace star { namespace rendering
 {
@@ -62,7 +62,7 @@ namespace cppcanvas
         private:
             mutable css::rendering::RenderState                                   maRenderState;
 
-            boost::optional<basegfx::B2DPolyPolygon>                              maClipPolyPolygon;
+            o3tl::optional<basegfx::B2DPolyPolygon>                              maClipPolyPolygon;
             CanvasSharedPtr                                                       mpCanvas;
         };
 
diff --git a/cppcanvas/source/wrapper/implcanvas.hxx b/cppcanvas/source/wrapper/implcanvas.hxx
index e509e999678b..a75b853f2c08 100644
--- a/cppcanvas/source/wrapper/implcanvas.hxx
+++ b/cppcanvas/source/wrapper/implcanvas.hxx
@@ -24,7 +24,7 @@
 #include <com/sun/star/rendering/ViewState.hpp>
 #include <cppcanvas/canvas.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 
 
@@ -77,7 +77,7 @@ namespace cppcanvas
 
         private:
             mutable css::rendering::ViewState                    maViewState;
-            boost::optional<basegfx::B2DPolyPolygon>             maClipPolyPolygon;
+            o3tl::optional<basegfx::B2DPolyPolygon>             maClipPolyPolygon;
             const css::uno::Reference< css::rendering::XCanvas > mxCanvas;
         };
 
diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx
index 23fd2f4dda00..77f5ecf0b4cd 100644
--- a/cui/inc/pch/precompiled_cui.hxx
+++ b/cui/inc/pch/precompiled_cui.hxx
@@ -49,7 +49,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx
index 20baf823cb69..95313e1bbfd4 100644
--- a/cui/source/options/fontsubs.cxx
+++ b/cui/source/options/fontsubs.cxx
@@ -180,7 +180,7 @@ bool  SvxFontSubstTabPage::FillItemSet( SfxItemSet* )
     if (m_xFontNameLB->get_active() != -1)
         sFontName = m_xFontNameLB->get_active_text();
     officecfg::Office::Common::Font::SourceViewFont::FontName::set(
-        boost::optional< OUString >(sFontName), batch);
+        o3tl::optional< OUString >(sFontName), batch);
     batch->commit();
 
     return false;
diff --git a/cui/source/options/tsaurls.cxx b/cui/source/options/tsaurls.cxx
index a010afcd8c3d..6fc5ad50d55d 100644
--- a/cui/source/options/tsaurls.cxx
+++ b/cui/source/options/tsaurls.cxx
@@ -35,7 +35,7 @@ TSAURLsDialog::TSAURLsDialog(weld::Window* pParent)
 
     try
     {
-        boost::optional<css::uno::Sequence<OUString>> aUserSetTSAURLs(officecfg::Office::Common::Security::Scripting::TSAURLs::get());
+        o3tl::optional<css::uno::Sequence<OUString>> aUserSetTSAURLs(officecfg::Office::Common::Security::Scripting::TSAURLs::get());
         if (aUserSetTSAURLs)
         {
             const css::uno::Sequence<OUString>& rUserSetTSAURLs = *aUserSetTSAURLs;
diff --git a/dbaccess/inc/pch/precompiled_dba.hxx b/dbaccess/inc/pch/precompiled_dba.hxx
index 87dba28710b3..4964fa3b4969 100644
--- a/dbaccess/inc/pch/precompiled_dba.hxx
+++ b/dbaccess/inc/pch/precompiled_dba.hxx
@@ -44,7 +44,7 @@
 #include <type_traits>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/dbaccess/inc/pch/precompiled_dbaxml.hxx b/dbaccess/inc/pch/precompiled_dbaxml.hxx
index 2acaefa5e0bd..5c0bdcc05ec8 100644
--- a/dbaccess/inc/pch/precompiled_dbaxml.hxx
+++ b/dbaccess/inc/pch/precompiled_dbaxml.hxx
@@ -27,7 +27,7 @@
 #include <memory>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/dbaccess/inc/pch/precompiled_dbu.hxx b/dbaccess/inc/pch/precompiled_dbu.hxx
index 63b108a7797c..9a8df0d70505 100644
--- a/dbaccess/inc/pch/precompiled_dbu.hxx
+++ b/dbaccess/inc/pch/precompiled_dbu.hxx
@@ -34,7 +34,7 @@
 #include <string_view>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/dbaccess/source/core/api/FilteredContainer.cxx b/dbaccess/source/core/api/FilteredContainer.cxx
index 3cc33cfe323b..4a25d4cb31df 100644
--- a/dbaccess/source/core/api/FilteredContainer.cxx
+++ b/dbaccess/source/core/api/FilteredContainer.cxx
@@ -28,7 +28,7 @@
 #include <connectivity/dbtools.hxx>
 #include <tools/wldcrd.hxx>
 #include <tools/diagnose_ex.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <sal/log.hxx>
 
 namespace dbaccess
@@ -99,7 +99,7 @@ static sal_Int32 createWildCardVector(Sequence< OUString >& _rTableFilter, std::
         return bFilterMatch;
     }
 
-    typedef ::boost::optional< OUString >    OptionalString;
+    typedef ::o3tl::optional< OUString >    OptionalString;
 
     namespace {
 
diff --git a/dbaccess/source/core/api/resultcolumn.cxx b/dbaccess/source/core/api/resultcolumn.cxx
index ea2e1d26f859..93b4ba1a932c 100644
--- a/dbaccess/source/core/api/resultcolumn.cxx
+++ b/dbaccess/source/core/api/resultcolumn.cxx
@@ -165,7 +165,7 @@ void OResultColumn::disposing()
 namespace
 {
     template< typename T >
-    void obtain( Any& _out_rValue, ::boost::optional< T > & _rCache, const sal_Int32 _nPos, const Reference < XResultSetMetaData >& _rxResultMeta, T (SAL_CALL XResultSetMetaData::*Getter)( sal_Int32 ) )
+    void obtain( Any& _out_rValue, ::o3tl::optional< T > & _rCache, const sal_Int32 _nPos, const Reference < XResultSetMetaData >& _rxResultMeta, T (SAL_CALL XResultSetMetaData::*Getter)( sal_Int32 ) )
     {
         if ( !_rCache )
             _rCache = (_rxResultMeta.get()->*Getter)(_nPos);
diff --git a/dbaccess/source/core/api/resultcolumn.hxx b/dbaccess/source/core/api/resultcolumn.hxx
index 4900f9b42aaa..4897e1233699 100644
--- a/dbaccess/source/core/api/resultcolumn.hxx
+++ b/dbaccess/source/core/api/resultcolumn.hxx
@@ -23,7 +23,7 @@
 #include <com/sun/star/sdbc/XResultSetMetaData.hpp>
 #include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
 #include <column.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <comphelper/proparrhlp.hxx>
 namespace dbaccess
 {
@@ -38,20 +38,20 @@ namespace dbaccess
         css::uno::Reference< css::sdbc::XDatabaseMetaData >   m_xDBMetaData;
         sal_Int32                             m_nPos;
         css::uno::Any                         m_aIsRowVersion;
-        mutable ::boost::optional< sal_Bool > m_isSigned;
-        mutable ::boost::optional< sal_Bool > m_isCurrency;
-        mutable ::boost::optional< sal_Bool > m_bSearchable;
-        mutable ::boost::optional< sal_Bool > m_isCaseSensitive;
-        mutable ::boost::optional< sal_Bool > m_isReadOnly;
-        mutable ::boost::optional< sal_Bool > m_isWritable;
-        mutable ::boost::optional< sal_Bool > m_isDefinitelyWritable;
-        mutable ::boost::optional< sal_Bool > m_isAutoIncrement;
-        mutable ::boost::optional< sal_Int32 > m_isNullable;
-        mutable ::boost::optional< OUString > m_sColumnLabel;
-        mutable ::boost::optional< sal_Int32 > m_nColumnDisplaySize;
-        mutable ::boost::optional< sal_Int32 > m_nColumnType;
-        mutable ::boost::optional< sal_Int32 > m_nPrecision;
-        mutable ::boost::optional< sal_Int32 > m_nScale;
+        mutable ::o3tl::optional< sal_Bool > m_isSigned;
+        mutable ::o3tl::optional< sal_Bool > m_isCurrency;
+        mutable ::o3tl::optional< sal_Bool > m_bSearchable;
+        mutable ::o3tl::optional< sal_Bool > m_isCaseSensitive;
+        mutable ::o3tl::optional< sal_Bool > m_isReadOnly;
+        mutable ::o3tl::optional< sal_Bool > m_isWritable;
+        mutable ::o3tl::optional< sal_Bool > m_isDefinitelyWritable;
+        mutable ::o3tl::optional< sal_Bool > m_isAutoIncrement;
+        mutable ::o3tl::optional< sal_Int32 > m_isNullable;
+        mutable ::o3tl::optional< OUString > m_sColumnLabel;
+        mutable ::o3tl::optional< sal_Int32 > m_nColumnDisplaySize;
+        mutable ::o3tl::optional< sal_Int32 > m_nColumnType;
+        mutable ::o3tl::optional< sal_Int32 > m_nPrecision;
+        mutable ::o3tl::optional< sal_Int32 > m_nScale;
 
         virtual ~OResultColumn() override;
     public:
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index 511cc0147775..1530618f4b62 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -131,7 +131,7 @@ namespace DatabaseObject = sdb::application::DatabaseObject;
 namespace dbaccess
 {
 
-    typedef ::boost::optional< bool > optional_bool;
+    typedef ::o3tl::optional< bool > optional_bool;
 
     // helper
     namespace
@@ -790,7 +790,7 @@ Any ODocumentDefinition::onCommandOpenSomething( const Any& _rOpenArgument, cons
     if ( xHandler.is() )
         aDocumentArgs.put( "InteractionHandler", xHandler );
 
-    ::boost::optional< sal_Int16 > aDocumentMacroMode;
+    ::o3tl::optional< sal_Int16 > aDocumentMacroMode;
 
     if ( !lcl_extractOpenMode( _rOpenArgument, nOpenMode ) )
     {
diff --git a/dbaccess/source/core/inc/ContentHelper.hxx b/dbaccess/source/core/inc/ContentHelper.hxx
index 93290fda2d52..2ca3a321ee69 100644
--- a/dbaccess/source/core/inc/ContentHelper.hxx
+++ b/dbaccess/source/core/inc/ContentHelper.hxx
@@ -51,7 +51,7 @@ namespace dbaccess
     struct ContentProperties
     {
         OUString aTitle;         // Title
-        ::boost::optional< OUString >
+        ::o3tl::optional< OUString >
                         aContentType;   // ContentType (aka MediaType aka MimeType)
         bool        bIsDocument;    // IsDocument
         bool        bIsFolder;      // IsFolder
diff --git a/dbaccess/source/core/inc/ModelImpl.hxx b/dbaccess/source/core/inc/ModelImpl.hxx
index e938cf830dca..446b79592933 100644
--- a/dbaccess/source/core/inc/ModelImpl.hxx
+++ b/dbaccess/source/core/inc/ModelImpl.hxx
@@ -166,7 +166,7 @@ private:
     oslInterlockedCount                                 m_refCount;
 
     /// do we have any object (forms/reports) which contains macros?
-    ::boost::optional< EmbeddedMacros >                 m_aEmbeddedMacros;
+    ::o3tl::optional< EmbeddedMacros >                 m_aEmbeddedMacros;
 
     /// true if setting the Modified flag of the document is currently locked
     bool                                                m_bModificationLock;
diff --git a/dbaccess/source/filter/xml/xmlExport.cxx b/dbaccess/source/filter/xml/xmlExport.cxx
index 43a199f2b91e..d88d0fa8b15e 100644
--- a/dbaccess/source/filter/xml/xmlExport.cxx
+++ b/dbaccess/source/filter/xml/xmlExport.cxx
@@ -55,7 +55,7 @@
 #include <connectivity/DriversConfig.hxx>
 #include <connectivity/dbtools.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <memory>
 #include <iterator>
 
@@ -350,7 +350,7 @@ void ODBExport::exportDataSource()
             {
                 const OUString                       sPropertyName;
                 const XMLTokenEnum                          eAttributeToken;
-                const ::boost::optional< OUString >  aXMLDefault;
+                const ::o3tl::optional< OUString >  aXMLDefault;
 
                 PropertyMap( const OUString& _rPropertyName, const XMLTokenEnum _eToken )
                     :sPropertyName( _rPropertyName )
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index df35c9a36111..aceaec2b36f6 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -393,7 +393,7 @@ void SAL_CALL OApplicationController::disposing()
                             aURL.GetURLNoPass( INetURLObject::DecodeMechanism::NONE ),
                             aFilter,
                             getStrippedDatabaseName(),
-                            boost::none);
+                            o3tl::nullopt);
 
                     // add to recent document list
                     if ( aURL.GetProtocol() == INetProtocol::File )
diff --git a/dbaccess/source/ui/app/AppController.hxx b/dbaccess/source/ui/app/AppController.hxx
index 2aacb412d9f8..5039a97af205 100644
--- a/dbaccess/source/ui/app/AppController.hxx
+++ b/dbaccess/source/ui/app/AppController.hxx
@@ -349,7 +349,7 @@ namespace dbaui
         /** verifies the object type denotes a valid DatabaseObject, and the object name denotes an existing
             object of this type. Throws if not.
         */
-        void    impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::boost::optional< OUString >& i_rObjectName );
+        void    impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::o3tl::optional< OUString >& i_rObjectName );
 
     protected:
         // initializing members
diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx b/dbaccess/source/ui/app/AppControllerGen.cxx
index 842a48c8c659..9c2ad5dbb748 100644
--- a/dbaccess/source/ui/app/AppControllerGen.cxx
+++ b/dbaccess/source/ui/app/AppControllerGen.cxx
@@ -378,7 +378,7 @@ namespace
     }
 }
 
-void OApplicationController::impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::boost::optional< OUString >& i_rObjectName )
+void OApplicationController::impl_validateObjectTypeAndName_throw( const sal_Int32 _nObjectType, const ::o3tl::optional< OUString >& i_rObjectName )
 {
     // ensure we're connected
     if ( !isConnected() )
@@ -460,7 +460,7 @@ Reference< XComponent > SAL_CALL OApplicationController::createComponentWithArgu
     SolarMutexGuard aSolarGuard;
     ::osl::MutexGuard aGuard( getMutex() );
 
-    impl_validateObjectTypeAndName_throw( i_nObjectType, ::boost::optional< OUString >() );
+    impl_validateObjectTypeAndName_throw( i_nObjectType, ::o3tl::optional< OUString >() );
 
     Reference< XComponent > xComponent( newElement(
         lcl_objectType2ElementType( i_nObjectType ),
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index c72d3a0b6e9b..2b33bd6ded7b 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -3172,7 +3172,7 @@ void SbaTableQueryBrowser::impl_initialize()
 
     if ( m_bEnableBrowser )
     {
-        m_aDocScriptSupport = ::boost::optional< bool >( false );
+        m_aDocScriptSupport = ::o3tl::optional< bool >( false );
     }
     else
     {
@@ -3180,7 +3180,7 @@ void SbaTableQueryBrowser::impl_initialize()
         // there is a specific database document which we belong to.
         Reference< XOfficeDatabaseDocument > xDocument( getDataSourceOrModel(
             lcl_getDataSource( m_xDatabaseContext, sInitialDataSourceName, xConnection ) ), UNO_QUERY );
-        m_aDocScriptSupport = ::boost::optional< bool >( Reference< XEmbeddedScripts >( xDocument, UNO_QUERY ).is() );
+        m_aDocScriptSupport = ::o3tl::optional< bool >( Reference< XEmbeddedScripts >( xDocument, UNO_QUERY ).is() );
     }
 
     if ( implSelect( sInitialDataSourceName, sInitialCommand, nInitialDisplayCommandType, bEscapeProcessing, xConnection, true ) )
diff --git a/dbaccess/source/ui/dlg/advancedsettings.cxx b/dbaccess/source/ui/dlg/advancedsettings.cxx
index 72715285b013..9bffee98ef6e 100644
--- a/dbaccess/source/ui/dlg/advancedsettings.cxx
+++ b/dbaccess/source/ui/dlg/advancedsettings.cxx
@@ -203,7 +203,7 @@ namespace dbaui
 
             bool bTriState = false;
 
-            boost::optional<bool> aValue;
+            o3tl::optional<bool> aValue;
 
             const SfxPoolItem* pItem = _rSet.GetItem<SfxPoolItem>(booleanSetting.nItemId);
             if (const SfxBoolItem *pBoolItem = dynamic_cast<const SfxBoolItem*>( pItem) )
diff --git a/dbaccess/source/ui/dlg/optionalboolitem.hxx b/dbaccess/source/ui/dlg/optionalboolitem.hxx
index f80dcd52fbf0..ce0a8f0659b6 100644
--- a/dbaccess/source/ui/dlg/optionalboolitem.hxx
+++ b/dbaccess/source/ui/dlg/optionalboolitem.hxx
@@ -22,7 +22,7 @@
 
 #include <svl/poolitem.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace dbaui
 {
@@ -30,7 +30,7 @@ namespace dbaui
     // OptionalBoolItem
     class OptionalBoolItem : public SfxPoolItem
     {
-        ::boost::optional< bool >   m_aValue;
+        ::o3tl::optional< bool >   m_aValue;
 
     public:
         explicit OptionalBoolItem( sal_uInt16 nWhich );
@@ -43,7 +43,7 @@ namespace dbaui
         bool    GetValue() const                { return *m_aValue; }
         void    SetValue(bool _bValue)          { m_aValue = _bValue; }
 
-        const ::boost::optional< bool >&
+        const ::o3tl::optional< bool >&
             GetFullValue() const { return m_aValue; }
     };
 
diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx
index 48f1b5217577..77e621588e9c 100644
--- a/dbaccess/source/ui/inc/unodatbr.hxx
+++ b/dbaccess/source/ui/inc/unodatbr.hxx
@@ -108,7 +108,7 @@ namespace dbaui
         bool                m_bShowMenu;            // if sal_True the menu should be visible otherwise not
         bool                m_bInSuspend;
         bool                m_bEnableBrowser;
-        ::boost::optional< bool >
+        ::o3tl::optional< bool >
                                 m_aDocScriptSupport;    // relevant if and only if we are associated with exactly one DBDoc
 
         virtual OUString getPrivateTitle( ) const override;
diff --git a/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx b/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
index 7f7163a32ba1..9950cbd869d0 100644
--- a/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
+++ b/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
@@ -123,7 +123,7 @@ namespace dbaui
     struct DBSubComponentController_Impl
     {
     private:
-        ::boost::optional< bool >       m_aDocScriptSupport;
+        ::o3tl::optional< bool >       m_aDocScriptSupport;
 
     public:
         ::dbtools::SQLExceptionInfo     m_aCurrentError;
@@ -166,7 +166,7 @@ namespace dbaui
         {
             OSL_PRECOND( !m_aDocScriptSupport,
                 "DBSubComponentController_Impl::setDocumentScriptSupport: already initialized!" );
-            m_aDocScriptSupport = ::boost::optional< bool >( _bSupport );
+            m_aDocScriptSupport = ::o3tl::optional< bool >( _bSupport );
         }
     };
 
diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx
index 817945c54e47..2fc67ab92c14 100644
--- a/desktop/inc/app.hxx
+++ b/desktop/inc/app.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_DESKTOP_INC_APP_HXX
 #define INCLUDED_DESKTOP_INC_APP_HXX
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <sal/log.hxx>
 #include <vcl/svapp.hxx>
@@ -175,7 +175,7 @@ class Desktop : public Application
 };
 
 OUString GetURL_Impl(
-    const OUString& rName, boost::optional< OUString > const & cwdUrl );
+    const OUString& rName, o3tl::optional< OUString > const & cwdUrl );
 
 OUString ReplaceStringHookProc(const OUString& rStr);
 
diff --git a/desktop/inc/pch/precompiled_deployment.hxx b/desktop/inc/pch/precompiled_deployment.hxx
index f6fbcba0d6de..667e9e562ece 100644
--- a/desktop/inc/pch/precompiled_deployment.hxx
+++ b/desktop/inc/pch/precompiled_deployment.hxx
@@ -27,7 +27,7 @@
 #include <ostream>
 #include <unordered_map>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/desktop/inc/pch/precompiled_deploymentgui.hxx b/desktop/inc/pch/precompiled_deploymentgui.hxx
index e1ad0a551535..994036573ac1 100644
--- a/desktop/inc/pch/precompiled_deploymentgui.hxx
+++ b/desktop/inc/pch/precompiled_deploymentgui.hxx
@@ -37,7 +37,7 @@
 #include <string>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/conditn.hxx>
diff --git a/desktop/inc/pch/precompiled_deploymentmisc.hxx b/desktop/inc/pch/precompiled_deploymentmisc.hxx
index 3cf05ba57055..703c029f8609 100644
--- a/desktop/inc/pch/precompiled_deploymentmisc.hxx
+++ b/desktop/inc/pch/precompiled_deploymentmisc.hxx
@@ -29,7 +29,7 @@
 #include <string>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/desktop/inc/pch/precompiled_sofficeapp.hxx b/desktop/inc/pch/precompiled_sofficeapp.hxx
index 9428ba122b31..87bcfaf98187 100644
--- a/desktop/inc/pch/precompiled_sofficeapp.hxx
+++ b/desktop/inc/pch/precompiled_sofficeapp.hxx
@@ -44,7 +44,7 @@
 #include <type_traits>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/desktop/qa/desktop_app/test_desktop_app.cxx b/desktop/qa/desktop_app/test_desktop_app.cxx
index ef88ae408c81..9a1b94606d8c 100644
--- a/desktop/qa/desktop_app/test_desktop_app.cxx
+++ b/desktop/qa/desktop_app/test_desktop_app.cxx
@@ -49,7 +49,7 @@ class TestSupplier : public desktop::CommandLineArgs::Supplier {
 public:
     explicit TestSupplier(const std::initializer_list<OUString>& args) : m_args(args) {}
 
-    virtual boost::optional< OUString > getCwdUrl() override { return boost::optional< OUString >(); }
+    virtual o3tl::optional< OUString > getCwdUrl() override { return o3tl::optional< OUString >(); }
     virtual bool next(OUString * argument) override {
         CPPUNIT_ASSERT(argument != nullptr);
         if (m_index < m_args.size()) {
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index f448d6e7e507..4afbed28e6b3 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2216,7 +2216,7 @@ void Desktop::OpenDefault()
 
 
 OUString GetURL_Impl(
-    const OUString& rName, boost::optional< OUString > const & cwdUrl )
+    const OUString& rName, o3tl::optional< OUString > const & cwdUrl )
 {
     // if rName is a vnd.sun.star.script URL do not attempt to parse it
     // as INetURLObj does not handle URLs there
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index c395e6d68a44..f66e8142849d 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -85,7 +85,7 @@ public:
         }
     }
 
-    virtual boost::optional< OUString > getCwdUrl() override { return m_cwdUrl; }
+    virtual o3tl::optional< OUString > getCwdUrl() override { return m_cwdUrl; }
 
     virtual bool next(OUString * argument) override {
         OSL_ASSERT(argument != nullptr);
@@ -98,7 +98,7 @@ public:
     }
 
 private:
-    boost::optional< OUString > m_cwdUrl;
+    o3tl::optional< OUString > m_cwdUrl;
     sal_uInt32 m_count;
     sal_uInt32 m_index;
 };
diff --git a/desktop/source/app/cmdlineargs.hxx b/desktop/source/app/cmdlineargs.hxx
index 94600ed40972..6c18bda3572d 100644
--- a/desktop/source/app/cmdlineargs.hxx
+++ b/desktop/source/app/cmdlineargs.hxx
@@ -25,7 +25,7 @@
 #include <vector>
 
 #include <rtl/ustring.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace desktop
 {
@@ -46,7 +46,7 @@ class CommandLineArgs
             };
 
             virtual ~Supplier();
-            virtual boost::optional< OUString > getCwdUrl() = 0;
+            virtual o3tl::optional< OUString > getCwdUrl() = 0;
             virtual bool next(OUString * argument) = 0;
         };
 
@@ -56,7 +56,7 @@ class CommandLineArgs
         CommandLineArgs(const CommandLineArgs&) = delete;
         const CommandLineArgs& operator=(const CommandLineArgs&) = delete;
 
-        const boost::optional< OUString >& getCwdUrl() const { return m_cwdUrl; }
+        const o3tl::optional< OUString >& getCwdUrl() const { return m_cwdUrl; }
 
         // Access to bool parameters
         bool                IsMinimized() const { return m_minimized;}
@@ -127,7 +127,7 @@ class CommandLineArgs
         void                    ParseCommandLine_Impl( Supplier& supplier );
         void                    InitParamValues();
 
-        boost::optional< OUString > m_cwdUrl;
+        o3tl::optional< OUString > m_cwdUrl;
 
         bool m_minimized;
         bool m_invisible;
diff --git a/desktop/source/app/dispatchwatcher.hxx b/desktop/source/app/dispatchwatcher.hxx
index 2b683ffd08fb..103b882b9172 100644
--- a/desktop/source/app/dispatchwatcher.hxx
+++ b/desktop/source/app/dispatchwatcher.hxx
@@ -60,7 +60,7 @@ class DispatchWatcher : public ::cppu::WeakImplHelper< css::frame::XDispatchResu
         {
             RequestType aRequestType;
             OUString    aURL;
-            boost::optional< OUString > aCwdUrl;
+            o3tl::optional< OUString > aCwdUrl;
             OUString    aPrinterName;  // also conversion params
             OUString    aPreselectedFactory;
         };
diff --git a/desktop/source/app/officeipcthread.cxx b/desktop/source/app/officeipcthread.cxx
index 5a79206c96ee..04617652c76d 100644
--- a/desktop/source/app/officeipcthread.cxx
+++ b/desktop/source/app/officeipcthread.cxx
@@ -141,7 +141,7 @@ public:
         }
     }
 
-    virtual boost::optional< OUString > getCwdUrl() override { return m_cwdUrl; }
+    virtual o3tl::optional< OUString > getCwdUrl() override { return m_cwdUrl; }
 
     virtual bool next(OUString * argument) override { return next(argument, true); }
 
@@ -195,7 +195,7 @@ private:
         }
     }
 
-    boost::optional< OUString > m_cwdUrl;
+    o3tl::optional< OUString > m_cwdUrl;
     OString m_input;
     sal_Int32 m_index;
 };
@@ -671,7 +671,7 @@ void RequestHandler::EnableRequests()
             pGlobal->mState = State::RequestsEnabled;
         }
         // hit the compiler over the head
-        ProcessDocumentsRequest aEmptyReq { boost::optional< OUString >() };
+        ProcessDocumentsRequest aEmptyReq { o3tl::optional< OUString >() };
         // trigger already queued requests
         RequestHandler::ExecuteCmdLineRequests(aEmptyReq, true);
     }
@@ -1224,7 +1224,7 @@ void PipeIpcThread::execute()
 
 static void AddToDispatchList(
     std::vector<DispatchWatcher::DispatchRequest>& rDispatchList,
-    boost::optional< OUString > const & cwdUrl,
+    o3tl::optional< OUString > const & cwdUrl,
     std::vector< OUString > const & aRequestList,
     DispatchWatcher::RequestType nType,
     const OUString& aParam,
@@ -1238,7 +1238,7 @@ static void AddToDispatchList(
 
 static void AddConversionsToDispatchList(
     std::vector<DispatchWatcher::DispatchRequest>& rDispatchList,
-    boost::optional< OUString > const & cwdUrl,
+    o3tl::optional< OUString > const & cwdUrl,
     std::vector< OUString > const & rRequestList,
     const OUString& rParam,
     const OUString& rPrinterName,
diff --git a/desktop/source/app/officeipcthread.hxx b/desktop/source/app/officeipcthread.hxx
index ca2533e191b8..79b550e70768 100644
--- a/desktop/source/app/officeipcthread.hxx
+++ b/desktop/source/app/officeipcthread.hxx
@@ -34,7 +34,7 @@
 #include <cppuhelper/implbase.hxx>
 #include <osl/conditn.hxx>
 #include <salhelper/thread.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace desktop
 {
@@ -45,10 +45,10 @@ oslSignalAction SalMainPipeExchangeSignal_impl(void* /*pData*/, oslSignalInfo* p
 // that was given by command line or by IPC pipe communication.
 struct ProcessDocumentsRequest
 {
-    explicit ProcessDocumentsRequest(boost::optional< OUString > const & cwdUrl):
+    explicit ProcessDocumentsRequest(o3tl::optional< OUString > const & cwdUrl):
         aCwdUrl(cwdUrl), pcProcessed( nullptr ), bTextCat( false ), bScriptCat( false ) {}
 
-    boost::optional< OUString > aCwdUrl;
+    o3tl::optional< OUString > aCwdUrl;
     OUString aModule;
     std::vector< OUString > aOpenList; // Documents that should be opened in the default way
     std::vector< OUString > aViewList; // Documents that should be opened in viewmode
diff --git a/desktop/source/app/opencl.cxx b/desktop/source/app/opencl.cxx
index 5ef73dd70cf9..766ac5011ab9 100644
--- a/desktop/source/app/opencl.cxx
+++ b/desktop/source/app/opencl.cxx
@@ -227,7 +227,7 @@ void Desktop::CheckOpenCLCompute(const Reference< XDesktop2 > &xDesktop)
     {
         // OpenCL device changed - sanity check it and disable if bad.
 
-        boost::optional<sal_Int32> nOrigMinimumSize = officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
+        o3tl::optional<sal_Int32> nOrigMinimumSize = officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
         { // set the minimum group size to something small for quick testing.
             std::shared_ptr<comphelper::ConfigurationChanges> xBatch(comphelper::ConfigurationChanges::create());
             officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::set(3 /* small */, xBatch);
diff --git a/desktop/source/deployment/dp_log.cxx b/desktop/source/deployment/dp_log.cxx
index 000dc46b347c..9f962f05a497 100644
--- a/desktop/source/deployment/dp_log.cxx
+++ b/desktop/source/deployment/dp_log.cxx
@@ -36,7 +36,7 @@
 #include <com/sun/star/io/IOException.hpp>
 #include <com/sun/star/io/XSeekable.hpp>
 #include <stdio.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
diff --git a/desktop/source/deployment/gui/dp_gui_service.cxx b/desktop/source/deployment/gui/dp_gui_service.cxx
index fbcb4ed13232..641ba623a534 100644
--- a/desktop/source/deployment/gui/dp_gui_service.cxx
+++ b/desktop/source/deployment/gui/dp_gui_service.cxx
@@ -36,7 +36,7 @@
 #include <com/sun/star/task/XJobExecutor.hpp>
 #include <com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.hpp>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include "license_dialog.hxx"
 #include "dp_gui_dialog2.hxx"
 #include "dp_gui_extensioncmdqueue.hxx"
@@ -143,8 +143,8 @@ class ServiceImpl
                                      task::XJobExecutor>
 {
     Reference<XComponentContext> const m_xComponentContext;
-    boost::optional< Reference<awt::XWindow> > /* const */ m_parent;
-    boost::optional<OUString> m_extensionURL;
+    o3tl::optional< Reference<awt::XWindow> > /* const */ m_parent;
+    o3tl::optional<OUString> m_extensionURL;
     OUString m_initialTitle;
     bool m_bShowUpdateOnly;
 
@@ -169,8 +169,8 @@ ServiceImpl::ServiceImpl( Sequence<Any> const& args,
       m_bShowUpdateOnly( false )
 {
     /* if true then this service is running in a unopkg process and not in an office process */
-    boost::optional<sal_Bool> unopkg;
-    boost::optional<OUString> view;
+    o3tl::optional<sal_Bool> unopkg;
+    o3tl::optional<OUString> view;
     try {
         comphelper::unwrapArgs( args, m_parent, view, unopkg );
         return;
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index c68fab086eaf..0dcbf641f3c0 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -27,7 +27,7 @@
 #include <vector>
 
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/awt/Rectangle.hpp>
 #include <com/sun/star/awt/WindowAttribute.hpp>
 #include <com/sun/star/awt/WindowClass.hpp>
@@ -412,7 +412,7 @@ void UpdateDialog::Thread::prepareUpdateData(
         out_du.unsatisfiedDependencies[i] = dp_misc::Dependencies::getErrorText(ds[i]);
     }
 
-    const ::boost::optional< OUString> updateWebsiteURL(infoset.getLocalizedUpdateWebsiteURL());
+    const ::o3tl::optional< OUString> updateWebsiteURL(infoset.getLocalizedUpdateWebsiteURL());
 
     out_du.name = getUpdateDisplayString(out_data, infoset.getVersion());
 
@@ -841,7 +841,7 @@ bool UpdateDialog::isIgnoredUpdate( UpdateDialog::Index * index )
         {
             DisabledUpdate &rData = m_disabledUpdates[ index->m_nIndex ];
             dp_misc::DescriptionInfoset aInfoset( m_context, rData.aUpdateInfo );
-            ::boost::optional< OUString > aID( aInfoset.getIdentifier() );
+            ::o3tl::optional< OUString > aID( aInfoset.getIdentifier() );
             if ( aID )
                 aExtensionID = *aID;
             aVersion = aInfoset.getVersion();
diff --git a/desktop/source/deployment/inc/dp_descriptioninfoset.hxx b/desktop/source/deployment/inc/dp_descriptioninfoset.hxx
index 9608a75215a7..03a5ededfeca 100644
--- a/desktop/source/deployment/inc/dp_descriptioninfoset.hxx
+++ b/desktop/source/deployment/inc/dp_descriptioninfoset.hxx
@@ -22,7 +22,7 @@
 
 #include <sal/config.h>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <sal/types.h>
@@ -83,7 +83,7 @@ public:
        @return
        the identifier, or an empty <code>optional</code> if none is specified
     */
-    ::boost::optional< OUString > getIdentifier() const;
+    ::o3tl::optional< OUString > getIdentifier() const;
 
     /**
        Return the textual version representation.
@@ -135,7 +135,7 @@ public:
         As long as there is a simple-license element, the function will return
         the structure. If it does not exist, then the optional object is uninitialized.
     */
-    ::boost::optional<SimpleLicenseAttributes> getSimpleLicenseAttributes() const;
+    ::o3tl::optional<SimpleLicenseAttributes> getSimpleLicenseAttributes() const;
 
     /** returns the localized display name of the extensions.
 
@@ -162,7 +162,7 @@ public:
         the download website URL, or an empty <code>optional</code> if none is
         specified
     */
-    ::boost::optional< OUString > getLocalizedUpdateWebsiteURL() const;
+    ::o3tl::optional< OUString > getLocalizedUpdateWebsiteURL() const;
 
     /** returns the relative URL to the description.
 
@@ -206,7 +206,7 @@ public:
     bool hasDescription() const;
 
 private:
-    SAL_DLLPRIVATE ::boost::optional< OUString > getOptionalValue(
+    SAL_DLLPRIVATE ::o3tl::optional< OUString > getOptionalValue(
         OUString const & expression) const;
 
     SAL_DLLPRIVATE css::uno::Sequence< OUString > getUrls(
diff --git a/desktop/source/deployment/inc/dp_identifier.hxx b/desktop/source/deployment/inc/dp_identifier.hxx
index 16d95c57baf9..a7ce629f42ff 100644
--- a/desktop/source/deployment/inc/dp_identifier.hxx
+++ b/desktop/source/deployment/inc/dp_identifier.hxx
@@ -22,7 +22,7 @@
 
 #include <sal/config.h>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/uno/Reference.hxx>
 
 #include "dp_misc_api.hxx"
@@ -47,7 +47,7 @@ namespace dp_misc {
    on the given file name
 */
 DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString generateIdentifier(
-    ::boost::optional< OUString > const & optional,
+    ::o3tl::optional< OUString > const & optional,
     OUString const & fileName);
 
 /**
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx
index fae8afe53e62..e99dbda3454d 100644
--- a/desktop/source/deployment/manager/dp_extensionmanager.cxx
+++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx
@@ -560,7 +560,7 @@ bool ExtensionManager::doChecksForAddExtension(
         ExtensionProperties props(OUString(), properties, Reference<ucb::XCommandEnvironment>(), m_xContext);
 
         dp_misc::DescriptionInfoset info(dp_misc::getDescriptionInfoset(xTmpExtension->getURL()));
-        const ::boost::optional<dp_misc::SimpleLicenseAttributes> licenseAttributes =
+        const ::o3tl::optional<dp_misc::SimpleLicenseAttributes> licenseAttributes =
             info.getSimpleLicenseAttributes();
 
         if (licenseAttributes && licenseAttributes->suppressIfRequired
diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx
index 7c79ab43405e..be7150588485 100644
--- a/desktop/source/deployment/manager/dp_manager.cxx
+++ b/desktop/source/deployment/manager/dp_manager.cxx
@@ -1391,7 +1391,7 @@ bool PackageManagerImpl::synchronizeAddedExtensions(
                     // shall the license be suppressed?
                     DescriptionInfoset info =
                         dp_misc::getDescriptionInfoset(url);
-                    ::boost::optional<dp_misc::SimpleLicenseAttributes>
+                    ::o3tl::optional<dp_misc::SimpleLicenseAttributes>
                           attr = info.getSimpleLicenseAttributes();
                     ExtensionProperties props(url, xCmdEnv, m_xComponentContext);
                     bool bNoLicense = false;
diff --git a/desktop/source/deployment/manager/dp_properties.hxx b/desktop/source/deployment/manager/dp_properties.hxx
index f6edd8476629..cc4bd931df34 100644
--- a/desktop/source/deployment/manager/dp_properties.hxx
+++ b/desktop/source/deployment/manager/dp_properties.hxx
@@ -23,7 +23,7 @@
 
 #include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/ucb/XCommandEnvironment.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 
 namespace dp_manager {
@@ -34,8 +34,8 @@ class ExtensionProperties final
     OUString m_propFileUrl;
     const css::uno::Reference<css::ucb::XCommandEnvironment> m_xCmdEnv;
     const css::uno::Reference<css::uno::XComponentContext> m_xContext;
-    ::boost::optional< OUString> m_prop_suppress_license;
-    ::boost::optional< OUString> m_prop_extension_update;
+    ::o3tl::optional< OUString> m_prop_suppress_license;
+    ::o3tl::optional< OUString> m_prop_extension_update;
 
     static OUString getPropertyValue(css::beans::NamedValue const & v);
 public:
diff --git a/desktop/source/deployment/misc/dp_descriptioninfoset.cxx b/desktop/source/deployment/misc/dp_descriptioninfoset.cxx
index 3e10663ef8db..585fcec13224 100644
--- a/desktop/source/deployment/misc/dp_descriptioninfoset.cxx
+++ b/desktop/source/deployment/misc/dp_descriptioninfoset.cxx
@@ -26,7 +26,7 @@
 #include <comphelper/seqstream.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/propertysequence.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/deployment/DeploymentException.hpp>
@@ -327,7 +327,7 @@ DescriptionInfoset::DescriptionInfoset(
 
 DescriptionInfoset::~DescriptionInfoset() {}
 
-::boost::optional< OUString > DescriptionInfoset::getIdentifier() const {
+::o3tl::optional< OUString > DescriptionInfoset::getIdentifier() const {
     return getOptionalValue("desc:identifier/@value");
 }
 
@@ -347,7 +347,7 @@ OUString DescriptionInfoset::getNodeValueFromExpression(OUString const & express
 void DescriptionInfoset::checkBlacklist() const
 {
     if (m_element.is()) {
-        boost::optional< OUString > id(getIdentifier());
+        o3tl::optional< OUString > id(getIdentifier());
         if (!id)
             return; // nothing to check
         OUString currentversion(getVersion());
@@ -521,20 +521,20 @@ OUString DescriptionInfoset::getIconURL( bool bHighContrast ) const
     return OUString();
 }
 
-::boost::optional< OUString > DescriptionInfoset::getLocalizedUpdateWebsiteURL()
+::o3tl::optional< OUString > DescriptionInfoset::getLocalizedUpdateWebsiteURL()
     const
 {
     bool bParentExists = false;
     const OUString sURL (getLocalizedHREFAttrFromChild("/desc:description/desc:update-website", &bParentExists ));
 
     if (!sURL.isEmpty())
-        return ::boost::optional< OUString >(sURL);
+        return ::o3tl::optional< OUString >(sURL);
     else
-        return bParentExists ? ::boost::optional< OUString >(OUString()) :
-            ::boost::optional< OUString >();
+        return bParentExists ? ::o3tl::optional< OUString >(OUString()) :
+            ::o3tl::optional< OUString >();
 }
 
-::boost::optional< OUString > DescriptionInfoset::getOptionalValue(
+::o3tl::optional< OUString > DescriptionInfoset::getOptionalValue(
     OUString const & expression) const
 {
     css::uno::Reference< css::xml::dom::XNode > n;
@@ -546,8 +546,8 @@ OUString DescriptionInfoset::getIconURL( bool bHighContrast ) const
         }
     }
     return n.is()
-        ? ::boost::optional< OUString >(getNodeValue(n))
-        : ::boost::optional< OUString >();
+        ? ::o3tl::optional< OUString >(getNodeValue(n))
+        : ::o3tl::optional< OUString >();
 }
 
 css::uno::Sequence< OUString > DescriptionInfoset::getUrls(
@@ -632,7 +632,7 @@ OUString DescriptionInfoset::getLocalizedLicenseURL() const
 
 }
 
-::boost::optional<SimpleLicenseAttributes>
+::o3tl::optional<SimpleLicenseAttributes>
 DescriptionInfoset::getSimpleLicenseAttributes() const
 {
     //Check if the node exist
@@ -649,22 +649,22 @@ DescriptionInfoset::getSimpleLicenseAttributes() const
             attributes.acceptBy =
                 getNodeValueFromExpression("/desc:description/desc:registration/desc:simple-license/@accept-by");
 
-            ::boost::optional< OUString > suppressOnUpdate = getOptionalValue("/desc:description/desc:registration/desc:simple-license/@suppress-on-update");
+            ::o3tl::optional< OUString > suppressOnUpdate = getOptionalValue("/desc:description/desc:registration/desc:simple-license/@suppress-on-update");
             if (suppressOnUpdate)
                 attributes.suppressOnUpdate = (*suppressOnUpdate).trim().equalsIgnoreAsciiCase("true");
             else
                 attributes.suppressOnUpdate = false;
 
-            ::boost::optional< OUString > suppressIfRequired = getOptionalValue("/desc:description/desc:registration/desc:simple-license/@suppress-if-required");
+            ::o3tl::optional< OUString > suppressIfRequired = getOptionalValue("/desc:description/desc:registration/desc:simple-license/@suppress-if-required");
             if (suppressIfRequired)
                 attributes.suppressIfRequired = (*suppressIfRequired).trim().equalsIgnoreAsciiCase("true");
             else
                 attributes.suppressIfRequired = false;
 
-            return ::boost::optional<SimpleLicenseAttributes>(attributes);
+            return ::o3tl::optional<SimpleLicenseAttributes>(attributes);
         }
     }
-    return ::boost::optional<SimpleLicenseAttributes>();
+    return ::o3tl::optional<SimpleLicenseAttributes>();
 }
 
 OUString DescriptionInfoset::getLocalizedDescriptionURL() const
diff --git a/desktop/source/deployment/misc/dp_identifier.cxx b/desktop/source/deployment/misc/dp_identifier.cxx
index bb90b8bb0d2f..7f07b5362bda 100644
--- a/desktop/source/deployment/misc/dp_identifier.cxx
+++ b/desktop/source/deployment/misc/dp_identifier.cxx
@@ -20,7 +20,7 @@
 
 #include <sal/config.h>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <com/sun/star/beans/Optional.hpp>
 #include <com/sun/star/deployment/XPackage.hpp>
 #include <com/sun/star/uno/Reference.hxx>
@@ -34,7 +34,7 @@
 namespace dp_misc {
 
 OUString generateIdentifier(
-    ::boost::optional< OUString > const & optional,
+    ::o3tl::optional< OUString > const & optional,
     OUString const & fileName)
 {
     return optional ? *optional : generateLegacyIdentifier(fileName);
diff --git a/desktop/source/deployment/misc/dp_update.cxx b/desktop/source/deployment/misc/dp_update.cxx
index 38b37d1da873..1387ad015ae6 100644
--- a/desktop/source/deployment/misc/dp_update.cxx
+++ b/desktop/source/deployment/misc/dp_update.cxx
@@ -112,7 +112,7 @@ void getOwnUpdateInfos(
                     Reference< xml::dom::XNode >(infos[j], UNO_QUERY_THROW));
                 if (!infoset.hasDescription())
                     continue;
-                boost::optional< OUString > result_id(infoset.getIdentifier());
+                o3tl::optional< OUString > result_id(infoset.getIdentifier());
                 if (!result_id)
                     continue;
                 SAL_INFO( "extensions.update", "  found version "
@@ -153,7 +153,7 @@ void getDefaultUpdateInfos(
     {
         Reference< xml::dom::XNode > node(infos[i], UNO_QUERY_THROW);
         dp_misc::DescriptionInfoset infoset(xContext, node);
-        boost::optional< OUString > id(infoset.getIdentifier());
+        o3tl::optional< OUString > id(infoset.getIdentifier());
         if (!id) {
             continue;
         }
diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx
index 40d0ee9c8b3c..fb00877fb276 100644
--- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx
+++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx
@@ -137,7 +137,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
                           Reference<XCommandEnvironment> const & xCmdEnv );
 #endif
     void addDataToDb(OUString const & url, ConfigurationBackendDb::Data const & data);
-    ::boost::optional<ConfigurationBackendDb::Data> readDataFromDb(OUString const & url);
+    ::o3tl::optional<ConfigurationBackendDb::Data> readDataFromDb(OUString const & url);
     void revokeEntryFromDb(OUString const & url);
     bool hasActiveEntry(OUString const & url);
     bool activateEntry(OUString const & url);
@@ -247,10 +247,10 @@ void BackendImpl::addDataToDb(
         m_backendDb->addEntry(url, data);
 }
 
-::boost::optional<ConfigurationBackendDb::Data> BackendImpl::readDataFromDb(
+::o3tl::optional<ConfigurationBackendDb::Data> BackendImpl::readDataFromDb(
     OUString const & url)
 {
-    ::boost::optional<ConfigurationBackendDb::Data> data;
+    ::o3tl::optional<ConfigurationBackendDb::Data> data;
     if (m_backendDb)
         data = m_backendDb->getEntry(url);
     return data;
@@ -495,7 +495,7 @@ bool BackendImpl::removeFromConfigmgrIni(
         //url to the file in the user installation (e.g. $BUNDLED_EXTENSIONS_USER)
         //However, m_url (getURL()) contains the URL for the file in the actual
         //extension installation.
-        ::boost::optional<ConfigurationBackendDb::Data> data = readDataFromDb(url_);
+        ::o3tl::optional<ConfigurationBackendDb::Data> data = readDataFromDb(url_);
         if (data)
             i = std::find(rSet.begin(), rSet.end(), data->iniEntry);
     }
@@ -687,7 +687,7 @@ void BackendImpl::PackageImpl::processPackage_(
     {
         if (getMyBackend()->activateEntry(getURL()))
         {
-            ::boost::optional<ConfigurationBackendDb::Data> data = that->readDataFromDb(url);
+            ::o3tl::optional<ConfigurationBackendDb::Data> data = that->readDataFromDb(url);
             OSL_ASSERT(data);
             that->addToConfigmgrIni( m_isSchema, false, data->iniEntry, xCmdEnv );
         }
@@ -779,7 +779,7 @@ void BackendImpl::PackageImpl::processPackage_(
             }
         }
 #endif
-        ::boost::optional<ConfigurationBackendDb::Data> data = that->readDataFromDb(url);
+        ::o3tl::optional<ConfigurationBackendDb::Data> data = that->readDataFromDb(url);
         //If an xcu file was life deployed then always a data entry is written.
         //If the xcu file was already in the configmr.ini then there is also
         //a data entry
diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
index 68a1f009d0bc..ba8159775639 100644
--- a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
+++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
@@ -96,7 +96,7 @@ void ConfigurationBackendDb::addEntry(OUString const & url, Data const & data)
 }
 
 
-::boost::optional<ConfigurationBackendDb::Data>
+::o3tl::optional<ConfigurationBackendDb::Data>
 ConfigurationBackendDb::getEntry(OUString const & url)
 {
     try
@@ -110,9 +110,9 @@ ConfigurationBackendDb::getEntry(OUString const & url)
         }
         else
         {
-            return ::boost::optional<Data>();
+            return ::o3tl::optional<Data>();
         }
-        return ::boost::optional<Data>(retData);
+        return ::o3tl::optional<Data>(retData);
     }
     catch ( const css::deployment::DeploymentException& )
     {
diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
index 09cbf05a9d3d..0e0d4c4899cf 100644
--- a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
+++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
@@ -23,7 +23,7 @@
 #include <rtl/ustring.hxx>
 #include <rtl/string.hxx>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <dp_backenddb.hxx>
 
 namespace com { namespace sun { namespace star {
@@ -69,7 +69,7 @@ public:
 
     void addEntry(OUString const & url, Data const & data);
 
-    ::boost::optional<Data> getEntry(OUString const & url);
+    ::o3tl::optional<Data> getEntry(OUString const & url);
     std::vector< OUString> getAllDataUrls();
 };
 
diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx
index 5c7b9bd1f2e3..bdab16126453 100644
--- a/desktop/source/deployment/registry/dp_backend.cxx
+++ b/desktop/source/deployment/registry/dp_backend.cxx
@@ -46,7 +46,7 @@
 #include <com/sun/star/sdbc/XRow.hpp>
 #include <tools/diagnose_ex.h>
 #include <unotools/tempfile.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 using namespace ::dp_misc;
 using namespace ::com::sun::star;
@@ -83,8 +83,8 @@ PackageRegistryBackend::PackageRegistryBackend(
       m_eContext( Context::Unknown )
 {
     assert(xContext.is());
-    boost::optional<OUString> cachePath;
-    boost::optional<bool> readOnly;
+    o3tl::optional<OUString> cachePath;
+    o3tl::optional<bool> readOnly;
     comphelper::unwrapArgs( args, m_context, cachePath, readOnly );
     if (cachePath)
         m_cachePath = *cachePath;
diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx
index 5d2541ab0f3a..cba0ac01d7a7 100644
--- a/desktop/source/deployment/registry/help/dp_help.cxx
+++ b/desktop/source/deployment/registry/help/dp_help.cxx
@@ -42,7 +42,7 @@
 #include <com/sun/star/deployment/ExtensionRemovedException.hpp>
 #include <com/sun/star/ucb/SimpleFileAccess.hpp>
 #include <com/sun/star/util/XMacroExpander.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 using namespace ::dp_misc;
 using namespace ::com::sun::star;
@@ -99,7 +99,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
     void implCollectXhpFiles( const OUString& aDir,
         std::vector< OUString >& o_rXhpFileVector );
 
-    ::boost::optional<HelpBackendDb::Data> readDataFromDb(OUString const & url);
+    ::o3tl::optional<HelpBackendDb::Data> readDataFromDb(OUString const & url);
     bool hasActiveEntry(OUString const & url);
     bool activateEntry(OUString const & url);
 
@@ -204,10 +204,10 @@ Reference<deployment::XPackage> BackendImpl::bindPackage_(
         static_cast<sal_Int16>(-1) );
 }
 
-::boost::optional<HelpBackendDb::Data> BackendImpl::readDataFromDb(
+::o3tl::optional<HelpBackendDb::Data> BackendImpl::readDataFromDb(
     OUString const & url)
 {
-    ::boost::optional<HelpBackendDb::Data> data;
+    ::o3tl::optional<HelpBackendDb::Data> data;
     if (m_backendDb)
         data = m_backendDb->getEntry(url);
     return data;
@@ -337,7 +337,7 @@ beans::Optional< OUString > BackendImpl::PackageImpl::getRegistrationDataURL()
     if (m_bRemoved)
         throw deployment::ExtensionRemovedException();
 
-    ::boost::optional<HelpBackendDb::Data> data =
+    ::o3tl::optional<HelpBackendDb::Data> data =
           getMyBackend()->readDataFromDb(getURL());
 
     if (data && getMyBackend()->hasActiveEntry(getURL()))
diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
index 59867dd54767..7f9f7095be85 100644
--- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
+++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
@@ -94,7 +94,7 @@ void HelpBackendDb::addEntry(OUString const & url, Data const & data)
 }
 
 
-::boost::optional<HelpBackendDb::Data>
+::o3tl::optional<HelpBackendDb::Data>
 HelpBackendDb::getEntry(OUString const & url)
 {
     try
@@ -107,9 +107,9 @@ HelpBackendDb::getEntry(OUString const & url)
         }
         else
         {
-            return ::boost::optional<Data>();
+            return ::o3tl::optional<Data>();
         }
-        return ::boost::optional<Data>(retData);
+        return ::o3tl::optional<Data>(retData);
     }
     catch ( const css::deployment::DeploymentException& )
     {
diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
index ad030ee60f58..1a9eabc861aa 100644
--- a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
+++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_REGISTRY_HELP_DP_HELPBACKENDDB_HXX
 
 #include <rtl/ustring.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <dp_backenddb.hxx>
 
 namespace com { namespace sun { namespace star {
@@ -64,7 +64,7 @@ public:
 
     void addEntry(OUString const & url, Data const & data);
 
-    ::boost::optional<Data> getEntry(OUString const & url);
+    ::o3tl::optional<Data> getEntry(OUString const & url);
     //must also return the data urls for entries with @active="false". That is,
     //those are currently revoked.
     std::vector< OUString> getAllDataUrls();
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
index 712742ed93c5..4ae501fdd948 100644
--- a/desktop/source/deployment/registry/package/dp_package.cxx
+++ b/desktop/source/deployment/registry/package/dp_package.cxx
@@ -68,7 +68,7 @@
 #include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
 #include <com/sun/star/xml/xpath/XXPathAPI.hpp>
 #include <com/sun/star/deployment/XPackageManager.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <tools/diagnose_ex.h>
 
 #include <algorithm>
@@ -628,7 +628,7 @@ bool BackendImpl::PackageImpl::checkLicense(
 {
     try
     {
-        ::boost::optional<SimpleLicenseAttributes> simplLicAttr
+        ::o3tl::optional<SimpleLicenseAttributes> simplLicAttr
             = info.getSimpleLicenseAttributes();
         if (! simplLicAttr)
             return true;
@@ -951,7 +951,7 @@ OUString BackendImpl::PackageImpl::getLicenseText()
     OUString sLicense;
     DescriptionInfoset aInfo = getDescriptionInfoset();
 
-    ::boost::optional< SimpleLicenseAttributes > aSimplLicAttr = aInfo.getSimpleLicenseAttributes();
+    ::o3tl::optional< SimpleLicenseAttributes > aSimplLicAttr = aInfo.getSimpleLicenseAttributes();
     if ( aSimplLicAttr )
     {
         OUString aLicenseURL = aInfo.getLocalizedLicenseURL();
diff --git a/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
index 2136e4454a87..a6de29ffb0b2 100644
--- a/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
+++ b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
@@ -22,7 +22,7 @@
 
 #include <rtl/ustring.hxx>
 #include <dp_backenddb.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 namespace com { namespace sun { namespace star {
         namespace uno {
diff --git a/editeng/inc/editattr.hxx b/editeng/inc/editattr.hxx
index 2b74427f6619..99faa6ecaf9d 100644
--- a/editeng/inc/editattr.hxx
+++ b/editeng/inc/editattr.hxx
@@ -22,7 +22,7 @@
 
 #include <editeng/eeitem.hxx>
 #include <svl/poolitem.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <tools/color.hxx>
 #include <tools/debug.hxx>
 
@@ -364,8 +364,8 @@ public:
 class EditCharAttribField: public EditCharAttrib
 {
     OUString   aFieldValue;
-    boost::optional<Color>  mxTxtColor;
-    boost::optional<Color>  mxFldColor;
+    o3tl::optional<Color>  mxTxtColor;
+    o3tl::optional<Color>  mxFldColor;
 
     EditCharAttribField& operator = ( const EditCharAttribField& rAttr ) = delete;
 
@@ -379,8 +379,8 @@ public:
                                     { return !(operator == ( rAttr ) ); }
 
     virtual void    SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override;
-    boost::optional<Color>&   GetTextColor()      { return mxTxtColor; }
-    boost::optional<Color>&   GetFieldColor()     { return mxFldColor; }
+    o3tl::optional<Color>&   GetTextColor()      { return mxTxtColor; }
+    o3tl::optional<Color>&   GetFieldColor()     { return mxFldColor; }
 
     const OUString& GetFieldValue() const { return aFieldValue;}
     void SetFieldValue(const OUString& rVal);
diff --git a/editeng/inc/pch/precompiled_editeng.hxx b/editeng/inc/pch/precompiled_editeng.hxx
index fb6950330079..391feb2b9a66 100644
--- a/editeng/inc/pch/precompiled_editeng.hxx
+++ b/editeng/inc/pch/precompiled_editeng.hxx
@@ -49,7 +49,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx
index e832dffd39d6..d5fb5482f111 100644
--- a/editeng/qa/unit/core-test.cxx
+++ b/editeng/qa/unit/core-test.cxx
@@ -813,7 +813,7 @@ class UrlEditEngine : public EditEngine
 public:
     explicit UrlEditEngine(SfxItemPool *pPool) : EditEngine(pPool) {}
 
-    virtual OUString CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, boost::optional<Color>&, boost::optional<Color>& ) override
+    virtual OUString CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, o3tl::optional<Color>&, o3tl::optional<Color>& ) override
     {
         return "jim at bob.com"; // a sophisticated view of value:
     }
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index e7faf821f0ee..2cf4d88a9e6d 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -2577,7 +2577,7 @@ tools::Rectangle EditEngine::GetBulletArea( sal_Int32 )
     return tools::Rectangle( Point(), Point() );
 }
 
-OUString EditEngine::CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, boost::optional<Color>&, boost::optional<Color>& )
+OUString EditEngine::CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, o3tl::optional<Color>&, o3tl::optional<Color>& )
 {
     return OUString(' ');
 }
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 5d3db66f5e18..ee0fe7948034 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -61,7 +61,7 @@
 #include <o3tl/deleter.hxx>
 #include <o3tl/typed_flags_set.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <memory>
 #include <vector>
 
@@ -238,7 +238,7 @@ private:
     EditEngine*               pEditEngine;
     VclPtr<vcl::Window>       pOutWin;
     EditView::OutWindowSet    aOutWindowSet;
-    boost::optional<PointerStyle>  mxPointer;
+    o3tl::optional<PointerStyle>  mxPointer;
     std::unique_ptr<DragAndDropInfo>  pDragAndDropInfo;
 
     css::uno::Reference< css::datatransfer::dnd::XDragSourceListener > mxDnDListener;
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 7e4273203183..cad718e86f6a 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2514,7 +2514,7 @@ bool SvxAutoCorrectLanguageLists::MakeCombinedChanges( std::vector<SvxAutocorrWo
     {
         for (SvxAutocorrWord & aWordToDelete : aDeleteEntries)
         {
-            boost::optional<SvxAutocorrWord> xFoundEntry = pAutocorr_List->FindAndRemove( &aWordToDelete );
+            o3tl::optional<SvxAutocorrWord> xFoundEntry = pAutocorr_List->FindAndRemove( &aWordToDelete );
             if( xFoundEntry )
             {
                 if( !xFoundEntry->IsTextOnly() )
@@ -2537,7 +2537,7 @@ bool SvxAutoCorrectLanguageLists::MakeCombinedChanges( std::vector<SvxAutocorrWo
         for (const SvxAutocorrWord & aNewEntrie : aNewEntries)
         {
             SvxAutocorrWord aWordToAdd(aNewEntrie.GetShort(), aNewEntrie.GetLong(), true );
-            boost::optional<SvxAutocorrWord> xRemoved = pAutocorr_List->FindAndRemove( &aWordToAdd );
+            o3tl::optional<SvxAutocorrWord> xRemoved = pAutocorr_List->FindAndRemove( &aWordToAdd );
             if( xRemoved )
             {
                 if( !xRemoved->IsTextOnly() )
@@ -2583,7 +2583,7 @@ bool SvxAutoCorrectLanguageLists::PutText( const OUString& rShort, const OUStrin
     if( bRet )
     {
         SvxAutocorrWord aNew(rShort, rLong, true );
-        boost::optional<SvxAutocorrWord> xRemove = pAutocorr_List->FindAndRemove( &aNew );
+        o3tl::optional<SvxAutocorrWord> xRemove = pAutocorr_List->FindAndRemove( &aNew );
         if( xRemove )
         {
             if( !xRemove->IsTextOnly() )
@@ -2719,7 +2719,7 @@ bool SvxAutocorrWordList::empty() const
     return mpImpl->maHash.empty() && mpImpl->maSortedVector.empty();
 }
 
-boost::optional<SvxAutocorrWord> SvxAutocorrWordList::FindAndRemove(const SvxAutocorrWord *pWord)
+o3tl::optional<SvxAutocorrWord> SvxAutocorrWordList::FindAndRemove(const SvxAutocorrWord *pWord)
 {
 
     if ( mpImpl->maSortedVector.empty() ) // use the hash
@@ -2742,7 +2742,7 @@ boost::optional<SvxAutocorrWord> SvxAutocorrWordList::FindAndRemove(const SvxAut
             return pMatch;
         }
     }
-    return boost::optional<SvxAutocorrWord>();
+    return o3tl::optional<SvxAutocorrWord>();
 }
 
 // return the sorted contents - defer sorting until we have to.
diff --git a/editeng/source/outliner/outleeng.cxx b/editeng/source/outliner/outleeng.cxx
index eb9881e89efd..fe122a91fb0a 100644
--- a/editeng/source/outliner/outleeng.cxx
+++ b/editeng/source/outliner/outleeng.cxx
@@ -169,7 +169,7 @@ void OutlinerEditEng::DrawingTab( const Point& rStartPos, long nWidth, const OUS
             bEndOfLine, bEndOfParagraph, rOverlineColor, rTextLineColor );
 }
 
-OUString OutlinerEditEng::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rpTxtColor, boost::optional<Color>& rpFldColor )
+OUString OutlinerEditEng::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rpTxtColor, o3tl::optional<Color>& rpFldColor )
 {
     return pOwner->CalcFieldValue( rField, nPara, nPos, rpTxtColor, rpFldColor );
 }
diff --git a/editeng/source/outliner/outleeng.hxx b/editeng/source/outliner/outleeng.hxx
index 5110d8be28ef..46970c75d9db 100644
--- a/editeng/source/outliner/outleeng.hxx
+++ b/editeng/source/outliner/outleeng.hxx
@@ -71,7 +71,7 @@ public:
     // for text conversion
     virtual bool        ConvertNextDocument() override;
 
-    virtual OUString    CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rTxtColor, boost::optional<Color>& rFldColor ) override;
+    virtual OUString    CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rTxtColor, o3tl::optional<Color>& rFldColor ) override;
 
     virtual tools::Rectangle   GetBulletArea( sal_Int32 nPara ) override;
 
diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx
index 16a3833eeea2..71b3cf56ce1a 100644
--- a/editeng/source/outliner/outliner.cxx
+++ b/editeng/source/outliner/outliner.cxx
@@ -648,7 +648,7 @@ void Outliner::AddText( const OutlinerParaObject& rPObj, bool bAppend )
     pEditEngine->SetUpdateMode( bUpdate );
 }
 
-OUString Outliner::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rpTxtColor, boost::optional<Color>& rpFldColor )
+OUString Outliner::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rpTxtColor, o3tl::optional<Color>& rpFldColor )
 {
     if ( !aCalcFieldValueHdl.IsSet() )
         return OUString( ' ' );
diff --git a/editeng/source/uno/unoedprx.cxx b/editeng/source/uno/unoedprx.cxx
index c7ac1bc3786b..a56404cc0805 100644
--- a/editeng/source/uno/unoedprx.cxx
+++ b/editeng/source/uno/unoedprx.cxx
@@ -618,7 +618,7 @@ SfxItemPool* SvxAccessibleTextAdapter::GetPool() const
     return mpTextForwarder->GetPool();
 }
 
-OUString SvxAccessibleTextAdapter::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rpTxtColor, boost::optional<Color>& rpFldColor )
+OUString SvxAccessibleTextAdapter::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rpTxtColor, o3tl::optional<Color>& rpFldColor )
 {
     assert(mpTextForwarder && "SvxAccessibleTextAdapter: no forwarder");
 
diff --git a/editeng/source/uno/unofored.cxx b/editeng/source/uno/unofored.cxx
index 73a49039fa3d..fb1236632dde 100644
--- a/editeng/source/uno/unofored.cxx
+++ b/editeng/source/uno/unofored.cxx
@@ -153,7 +153,7 @@ bool SvxEditEngineForwarder::IsValid() const
     return rEditEngine.GetUpdateMode();
 }
 
-OUString SvxEditEngineForwarder::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rpTxtColor, boost::optional<Color>& rpFldColor )
+OUString SvxEditEngineForwarder::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rpTxtColor, o3tl::optional<Color>& rpFldColor )
 {
     return rEditEngine.CalcFieldValue( rField, nPara, nPos, rpTxtColor, rpFldColor );
 }
diff --git a/editeng/source/uno/unoforou.cxx b/editeng/source/uno/unoforou.cxx
index b9abddf04455..9fb555470456 100644
--- a/editeng/source/uno/unoforou.cxx
+++ b/editeng/source/uno/unoforou.cxx
@@ -220,7 +220,7 @@ void SvxOutlinerForwarder::QuickSetAttribs( const SfxItemSet& rSet, const ESelec
     rOutliner.QuickSetAttribs( rSet, rSel );
 }
 
-OUString SvxOutlinerForwarder::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rpTxtColor, boost::optional<Color>& rpFldColor )
+OUString SvxOutlinerForwarder::CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, o3tl::optional<Color>& rpTxtColor, o3tl::optional<Color>& rpFldColor )
 {
     return rOutliner.CalcFieldValue( rField, nPara, nPos, rpTxtColor, rpFldColor );
 }
diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx
index e0ffbfe82a20..25d2b70c3098 100644
--- a/editeng/source/uno/unotext.cxx
+++ b/editeng/source/uno/unotext.cxx
@@ -634,8 +634,8 @@ void SvxUnoTextRangeBase::getPropertyValue( const SfxItemPropertySimpleEntry* pM
             uno::Reference< text::XTextRange > xAnchor( this );
 
             // get presentation string for field
-            boost::optional<Color> pTColor;
-            boost::optional<Color> pFColor;
+            o3tl::optional<Color> pTColor;
+            o3tl::optional<Color> pFColor;
 
             SvxTextForwarder* pForwarder = mpEditSource->GetTextForwarder();
             OUString aPresentation( pForwarder->CalcFieldValue( SvxFieldItem(*pData, EE_FEATURE_FIELD), maSelection.nStartPara, maSelection.nStartPos, pTColor, pFColor ) );
@@ -2359,7 +2359,7 @@ void SvxDummyTextSource::QuickInsertLineBreak( const ESelection& )
 {
 };
 
-OUString SvxDummyTextSource::CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, boost::optional<Color>&, boost::optional<Color>& )
+OUString SvxDummyTextSource::CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32, o3tl::optional<Color>&, o3tl::optional<Color>& )
 {
     return OUString();
 }
diff --git a/emfio/inc/pch/precompiled_emfio.hxx b/emfio/inc/pch/precompiled_emfio.hxx
index 047648a110fd..d97e3d007280 100644
--- a/emfio/inc/pch/precompiled_emfio.hxx
+++ b/emfio/inc/pch/precompiled_emfio.hxx
@@ -24,7 +24,7 @@
 #include <memory>
 #include <stddef.h>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/emfio/source/reader/wmfreader.cxx b/emfio/source/reader/wmfreader.cxx
index 58c4d971cb49..a070d8cfbea3 100644
--- a/emfio/source/reader/wmfreader.cxx
+++ b/emfio/source/reader/wmfreader.cxx
@@ -21,7 +21,7 @@
 #include <emfreader.hxx>
 
 #include <memory>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <rtl/crc.h>
 #include <rtl/tencinfo.h>
 #include <sal/log.hxx>
@@ -1489,10 +1489,10 @@ namespace emfio
         auto nEnd = nPos + pStm->remainingSize();
 
         Point aWinOrg(0,0);
-        boost::optional<Size>  aWinExt;
+        o3tl::optional<Size>  aWinExt;
 
         Point aViewportOrg(0,0);
-        boost::optional<Size>  aViewportExt;
+        o3tl::optional<Size>  aViewportExt;
 
         if (nEnd - nPos)
         {
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index a122e6aac203..0c399260d6bf 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -139,7 +139,7 @@
 #include <svtools/embedhlp.hxx>
 #include <o3tl/enumrange.hxx>
 #include <o3tl/safeint.hxx>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <sal/log.hxx>
 
 #include <algorithm>
@@ -2339,7 +2339,7 @@ SdrObject* SdrPowerPointImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj*
                     rOutliner.QuickSetAttribs( aPortionAttribs, aSelection );
                     aSelection.nStartPos = aSelection.nEndPos;
                 }
-                boost::optional< sal_Int16 > oStartNumbering;
+                o3tl::optional< sal_Int16 > oStartNumbering;
                 SfxItemSet aParagraphAttribs( rOutliner.GetEmptyItemSet() );
                 pPara->ApplyTo( aParagraphAttribs, oStartNumbering, *this, nDestinationInstance );
 
@@ -3400,7 +3400,7 @@ PPTNumberFormatCreator::~PPTNumberFormatCreator()
 
 bool PPTNumberFormatCreator::ImplGetExtNumberFormat( SdrPowerPointImport const & rManager,
     SvxNumberFormat& rNumberFormat, sal_uInt32 nLevel, TSS_Type nInstance, TSS_Type nDestinationInstance,
-        boost::optional< sal_Int16 >& rStartNumbering, sal_uInt32 nFontHeight,  PPTParagraphObj const * pPara )
+        o3tl::optional< sal_Int16 >& rStartNumbering, sal_uInt32 nFontHeight,  PPTParagraphObj const * pPara )
 {
     bool bHardAttribute = ( nDestinationInstance == TSS_Type::Unknown );
 
@@ -3641,7 +3641,7 @@ bool PPTNumberFormatCreator::ImplGetExtNumberFormat( SdrPowerPointImport const &
             }
             break;
         }
-        rStartNumbering = boost::optional< sal_Int16 >( nAnmScheme >> 16 );
+        rStartNumbering = o3tl::optional< sal_Int16 >( nAnmScheme >> 16 );
         sal_Int16 nBuStart = *rStartNumbering;
         //The Seventh bit of nBuFlags that specifies whether fBulletHasAutoNumber exists,
         //and fBulletHasAutoNumber that specifies whether this paragraph has an automatic numbering scheme.
@@ -3669,7 +3669,7 @@ void PPTNumberFormatCreator::GetNumberFormat( SdrPowerPointImport const & rManag
     nTextOfs = rParaLevel.mnTextOfs;
     nBulletOfs = rParaLevel.mnBulletOfs;
 
-    boost::optional< sal_Int16 > oStartNumbering;
+    o3tl::optional< sal_Int16 > oStartNumbering;
     ImplGetExtNumberFormat( rManager, rNumberFormat, nLevel, nInstance, TSS_Type::Unknown, oStartNumbering, rCharLevel.mnFontHeight, nullptr );
     if ( ( rNumberFormat.GetNumberingType() != SVX_NUM_BITMAP ) && ( nBulletHeight > 0x7fff ) )
         nBulletHeight = rCharLevel.mnFontHeight ? ((- static_cast<sal_Int16>(nBulletHeight)) * 100 ) / rCharLevel.mnFontHeight : 100;
@@ -3702,7 +3702,7 @@ void PPTNumberFormatCreator::GetNumberFormat( SdrPowerPointImport const & rManag
 }
 
 bool PPTNumberFormatCreator::GetNumberFormat( SdrPowerPointImport const & rManager, SvxNumberFormat& rNumberFormat, PPTParagraphObj* pParaObj,
-                                                TSS_Type nDestinationInstance, boost::optional< sal_Int16 >& rStartNumbering )
+                                                TSS_Type nDestinationInstance, o3tl::optional< sal_Int16 >& rStartNumbering )
 {
     sal_uInt32 nHardCount = 0;
     nHardCount += pParaObj->GetAttrib( PPT_ParaAttr_BulletOn, nIsBullet, nDestinationInstance ) ? 1 : 0;
@@ -6168,7 +6168,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, TSS_Ty
     return bIsHardAttribute;
 }
 
-void PPTParagraphObj::ApplyTo( SfxItemSet& rSet,  boost::optional< sal_Int16 >& rStartNumbering, SdrPowerPointImport const & rManager, TSS_Type nDestinationInstance )
+void PPTParagraphObj::ApplyTo( SfxItemSet& rSet,  o3tl::optional< sal_Int16 >& rStartNumbering, SdrPowerPointImport const & rManager, TSS_Type nDestinationInstance )
 {
     sal_Int16   nVal2;
     sal_uInt32  nVal, nUpperDist, nLowerDist;
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 4a6fbc0d12a2..1d49f17f3087 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -1512,7 +1512,7 @@ IMPL_LINK_NOARG(ImpPDFTabSigningPage, ClickmaPbSignCertSelect, weld::Button&, vo
 
         try
         {
-            boost::optional<css::uno::Sequence<OUString>> aTSAURLs(officecfg::Office::Common::Security::Scripting::TSAURLs::get());
+            o3tl::optional<css::uno::Sequence<OUString>> aTSAURLs(officecfg::Office::Common::Security::Scripting::TSAURLs::get());
             if (aTSAURLs)
             {
                 const css::uno::Sequence<OUString>& rTSAURLs = *aTSAURLs;
diff --git a/forms/inc/pch/precompiled_frm.hxx b/forms/inc/pch/precompiled_frm.hxx
index ed407615a977..d68969d9d794 100644
--- a/forms/inc/pch/precompiled_frm.hxx
+++ b/forms/inc/pch/precompiled_frm.hxx
@@ -33,7 +33,7 @@
 #include <utility>
 #include <vector>
 #include <boost/lexical_cast.hpp>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/diagnose.h>
diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index 7c51f7c7a1b4..e98c7883f3c9 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -55,7 +55,7 @@
 #include <unotools/sharedunocomponent.hxx>
 #include <vcl/svapp.hxx>
 
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 #include <algorithm>
 #include <iterator>
@@ -739,7 +739,7 @@ namespace frm
             return;
         }
 
-        ::boost::optional< sal_Int16 > aBoundColumn(boost::none);
+        ::o3tl::optional< sal_Int16 > aBoundColumn(o3tl::nullopt);
         if ( m_aBoundColumn.getValueType().getTypeClass() == TypeClass_SHORT )
         {
             sal_Int16 nBoundColumn( 0 );
diff --git a/framework/inc/pch/precompiled_fwe.hxx b/framework/inc/pch/precompiled_fwe.hxx
index c3abf132b851..11810cf2cd53 100644
--- a/framework/inc/pch/precompiled_fwe.hxx
+++ b/framework/inc/pch/precompiled_fwe.hxx
@@ -44,7 +44,7 @@
 #include <type_traits>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/framework/inc/pch/precompiled_fwk.hxx b/framework/inc/pch/precompiled_fwk.hxx
index 2ae7536bd701..9f48848a1327 100644
--- a/framework/inc/pch/precompiled_fwk.hxx
+++ b/framework/inc/pch/precompiled_fwk.hxx
@@ -44,7 +44,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
 #include <osl/conditn.h>
diff --git a/framework/inc/pch/precompiled_fwl.hxx b/framework/inc/pch/precompiled_fwl.hxx
index 59b5fffd471d..103c91fd472a 100644
--- a/framework/inc/pch/precompiled_fwl.hxx
+++ b/framework/inc/pch/precompiled_fwl.hxx
@@ -46,7 +46,7 @@
 #include <unordered_map>
 #include <utility>
 #include <vector>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 #include <boost/property_tree/ptree.hpp>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
diff --git a/framework/source/classes/taskcreator.cxx b/framework/source/classes/taskcreator.cxx
index 62762c80cce4..f5c90bc0cfbe 100644
--- a/framework/source/classes/taskcreator.cxx
+++ b/framework/source/classes/taskcreator.cxx
@@ -68,7 +68,7 @@ css::uno::Reference< css::frame::XFrame > TaskCreator::createTask( const OUStrin
            )
         {
 
-            boost::optional<OUString> x(officecfg::Office::TabBrowse::TaskCreatorService::ImplementationName::get(m_xContext));
+            o3tl::optional<OUString> x(officecfg::Office::TabBrowse::TaskCreatorService::ImplementationName::get(m_xContext));
             if (x) sCreator = *x;
         }
 
diff --git a/framework/source/services/substitutepathvars.cxx b/framework/source/services/substitutepathvars.cxx
index ad20f5ebbec2..371b5e808c6b 100644
--- a/framework/source/services/substitutepathvars.cxx
+++ b/framework/source/services/substitutepathvars.cxx
@@ -256,7 +256,7 @@ OUString SubstitutePathVariables::GetWorkPath() const
 OUString SubstitutePathVariables::GetWorkVariableValue() const
 {
     OUString aWorkPath;
-    boost::optional<OUString> x(officecfg::Office::Paths::Variables::Work::get(m_xContext));
+    o3tl::optional<OUString> x(officecfg::Office::Paths::Variables::Work::get(m_xContext));
     if (!x)
     {
         // fallback to $HOME in case platform dependent config layer does not return
diff --git a/idlc/inc/astexpression.hxx b/idlc/inc/astexpression.hxx
index 527746245bff..ae96dff602ea 100644
--- a/idlc/inc/astexpression.hxx
+++ b/idlc/inc/astexpression.hxx
@@ -24,7 +24,7 @@
 #include <memory>
 
 #include "idlc.hxx"
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
 
 // Enum to define all the different operators to combine expressions
 enum class ExprComb
@@ -130,7 +130,7 @@ private:
                     m_subExpr2;
     std::unique_ptr<AstExprValue>
                     m_exprValue;
-    boost::optional<OString>
+    o3tl::optional<OString>
                     m_xSymbolicName;
 };
 
diff --git a/idlc/inc/astsequence.hxx b/idlc/inc/astsequence.hxx
index 2d65edbaba6c..0a8efc77b4f8 100644
--- a/idlc/inc/astsequence.hxx
+++ b/idlc/inc/astsequence.hxx
@@ -38,7 +38,7 @@ public:
     virtual const sal_Char* getRelativName() const override;
 private:
     AstType const * m_pMemberType;
-    mutable boost::optional<OString> m_xRelativName;
+    mutable o3tl::optional<OString> m_xRelativName;
 };
 
 #endif // INCLUDED_IDLC_INC_ASTSEQUENCE_HXX

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list