diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-11-30 17:48:32 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-12-01 14:57:16 +0100 |
commit | 7e403195e574be5174815a51cf5c42f06f76a87a (patch) | |
tree | c6147bcac095cd387f06dee63a25e15db6ca84c6 /sd | |
parent | 7b3190eda387bcd897095205732f6752dedf01ef (diff) |
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@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/inc/pch/precompiled_sd.hxx | 4 | ||||
-rw-r--r-- | sd/inc/pch/precompiled_sdui.hxx | 2 | ||||
-rw-r--r-- | sd/source/filter/ppt/pptin.cxx | 4 | ||||
-rw-r--r-- | sd/source/ui/app/sdmod2.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx | 6 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx | 10 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx | 4 |
7 files changed, 16 insertions, 16 deletions
diff --git a/sd/inc/pch/precompiled_sd.hxx b/sd/inc/pch/precompiled_sd.hxx index cea2898dfbca..475d59df9c63 100644 --- a/sd/inc/pch/precompiled_sd.hxx +++ b/sd/inc/pch/precompiled_sd.hxx @@ -39,8 +39,8 @@ #include <unordered_map> #include <utility> #include <vector> -#include <boost/optional.hpp> -#include <boost/optional/optional.hpp> +#include <o3tl/optional.hxx> +#include <o3tl/optional.hxx> #include <boost/property_tree/json_parser.hpp> #include <boost/property_tree/ptree.hpp> #endif // PCH_LEVEL >= 1 diff --git a/sd/inc/pch/precompiled_sdui.hxx b/sd/inc/pch/precompiled_sdui.hxx index 0922819f0e6f..bfd2e4bc1858 100644 --- a/sd/inc/pch/precompiled_sdui.hxx +++ b/sd/inc/pch/precompiled_sdui.hxx @@ -50,7 +50,7 @@ #include <typeinfo> #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/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index b641545a8aca..cd1d62012a72 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -87,7 +87,7 @@ #include <comphelper/string.hxx> #include <oox/ole/olehelper.hxx> -#include <boost/optional.hpp> +#include <o3tl/optional.hxx> #include <cassert> #include <memory> @@ -583,7 +583,7 @@ bool ImplSdPPTImport::Import() pPage->SetAutoLayout( AUTOLAYOUT_NOTES, true ); if ( nMasterNum ) { - boost::optional< sal_Int16 > oStartNumbering; + o3tl::optional< sal_Int16 > oStartNumbering; SfxStyleSheet* pSheet; if ( nMasterNum == 1 ) { diff --git a/sd/source/ui/app/sdmod2.cxx b/sd/source/ui/app/sdmod2.cxx index 1a09eb06f44b..5bc72ad5fde9 100644 --- a/sd/source/ui/app/sdmod2.cxx +++ b/sd/source/ui/app/sdmod2.cxx @@ -335,7 +335,7 @@ IMPL_LINK(SdModule, CalcFieldValueHdl, EditFieldInfo*, pInfo, void) } else if ( dynamic_cast< const SdrMeasureField* >(pField)) { - pInfo->SetFieldColor(boost::optional<Color>()); // clear the field color + pInfo->SetFieldColor(o3tl::optional<Color>()); // clear the field color } else if ((pCustomPropertyField = dynamic_cast<const editeng::CustomPropertyField*>(pField)) != nullptr) { diff --git a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx index 23378029bb91..d54b09a91a90 100644 --- a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx +++ b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx @@ -51,7 +51,7 @@ #include <o3tl/deleter.hxx> #include <sfx2/dispatch.hxx> #include <vcl/ptrstyle.hxx> -#include <boost/optional.hpp> +#include <o3tl/optional.hxx> #include <sdmod.hxx> namespace { @@ -198,7 +198,7 @@ protected: virtual bool ProcessDragEvent (SelectionFunction::EventDescriptor& rDescriptor) override; private: - ::boost::optional<Point> maButtonDownLocation; + ::o3tl::optional<Point> maButtonDownLocation; /** Select all pages between and including the selection anchor and the specified page. @@ -1183,7 +1183,7 @@ void NormalModeHandler::RangeSelect (const model::SharedPageDescriptor& rpDescri void NormalModeHandler::ResetButtonDownLocation() { - maButtonDownLocation = ::boost::optional<Point>(); + maButtonDownLocation = ::o3tl::optional<Point>(); } //===== MultiSelectionModeHandler ============================================= diff --git a/sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx b/sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx index ff16fb0e4dac..b495de5d03d6 100644 --- a/sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsVisibleAreaManager.cxx @@ -107,7 +107,7 @@ void VisibleAreaManager::MakeVisible() return; const Point aCurrentTopLeft (pWindow->PixelToLogic(Point(0,0))); - const ::boost::optional<Point> aNewVisibleTopLeft (GetRequestedTopLeft()); + const ::o3tl::optional<Point> aNewVisibleTopLeft (GetRequestedTopLeft()); maVisibleRequests.clear(); if ( ! aNewVisibleTopLeft) return; @@ -121,11 +121,11 @@ void VisibleAreaManager::MakeVisible() aAnimation(1.0); } -::boost::optional<Point> VisibleAreaManager::GetRequestedTopLeft() const +::o3tl::optional<Point> VisibleAreaManager::GetRequestedTopLeft() const { sd::Window *pWindow (mrSlideSorter.GetContentWindow().get()); if ( ! pWindow) - return ::boost::optional<Point>(); + return ::o3tl::optional<Point>(); // Get the currently visible area and the model area. const ::tools::Rectangle aVisibleArea (pWindow->PixelToLogic( @@ -166,9 +166,9 @@ void VisibleAreaManager::MakeVisible() const Point aRequestedTopLeft (nVisibleLeft, nVisibleTop); if (aRequestedTopLeft == aVisibleArea.TopLeft()) - return ::boost::optional<Point>(); + return ::o3tl::optional<Point>(); else - return ::boost::optional<Point>(aRequestedTopLeft); + return ::o3tl::optional<Point>(aRequestedTopLeft); } //===== VisibleAreaManager::TemporaryDisabler ================================= diff --git a/sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx b/sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx index acd74e2b5ffc..8ac72f786ec2 100644 --- a/sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx +++ b/sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx @@ -21,7 +21,7 @@ #define INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_CONTROLLER_SLSVISIBLEAREAMANAGER_HXX #include <model/SlsSharedPageDescriptor.hxx> -#include <boost/optional.hpp> +#include <o3tl/optional.hxx> #include <tools/gen.hxx> #include <vector> @@ -81,7 +81,7 @@ private: int mnDisableCount; void MakeVisible(); - ::boost::optional<Point> GetRequestedTopLeft() const; + ::o3tl::optional<Point> GetRequestedTopLeft() const; }; } } } // end of namespace ::sd::slidesorter::view |