summaryrefslogtreecommitdiff
path: root/jvmfwk
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-11-30 17:48:32 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-12-01 14:57:16 +0100
commit7e403195e574be5174815a51cf5c42f06f76a87a (patch)
treec6147bcac095cd387f06dee63a25e15db6ca84c6 /jvmfwk
parent7b3190eda387bcd897095205732f6752dedf01ef (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 'jvmfwk')
-rw-r--r--jvmfwk/inc/elements.hxx22
-rw-r--r--jvmfwk/inc/fwkbase.hxx4
-rw-r--r--jvmfwk/source/elements.cxx26
-rw-r--r--jvmfwk/source/fwkbase.cxx2
4 files changed, 27 insertions, 27 deletions
diff --git a/jvmfwk/inc/elements.hxx b/jvmfwk/inc/elements.hxx
index 4ec2e5c2fb28..89802e9ec200 100644
--- a/jvmfwk/inc/elements.hxx
+++ b/jvmfwk/inc/elements.hxx
@@ -27,7 +27,7 @@
#include <rtl/ustring.hxx>
#include <rtl/byteseq.hxx>
#include <libxml/parser.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
struct JavaInfo;
@@ -159,28 +159,28 @@ private:
If /java/enabled@xsi:nil == true then the value will be uninitialized
after a call to load().
*/
- boost::optional<sal_Bool> m_enabled;
+ o3tl::optional<sal_Bool> m_enabled;
/** User configurable option. /java/userClassPath
If /java/userClassPath@xsi:nil == true then the value is uninitialized
after a call to load().
*/
- boost::optional< OUString> m_userClassPath;
+ o3tl::optional< OUString> m_userClassPath;
/** User configurable option. /java/javaInfo
If /java/javaInfo@xsi:nil == true then the value is uninitialized
after a call to load.
*/
- boost::optional<CNodeJavaInfo> m_javaInfo;
+ o3tl::optional<CNodeJavaInfo> m_javaInfo;
/** User configurable option. /java/vmParameters
If /java/vmParameters@xsi:nil == true then the value is uninitialized
after a call to load.
*/
- boost::optional< ::std::vector< OUString> > m_vmParameters;
+ o3tl::optional< ::std::vector< OUString> > m_vmParameters;
/** User configurable option. /java/jreLocations
If /java/jreLocaltions@xsi:nil == true then the value is uninitialized
after a call to load.
*/
- boost::optional< ::std::vector< OUString> > m_JRELocations;
+ o3tl::optional< ::std::vector< OUString> > m_JRELocations;
public:
@@ -225,22 +225,22 @@ public:
/** returns the value of the element /java/enabled
*/
- const boost::optional<sal_Bool> & getEnabled() const { return m_enabled;}
+ const o3tl::optional<sal_Bool> & getEnabled() const { return m_enabled;}
/** returns the value of the element /java/userClassPath.
*/
- const boost::optional< OUString> & getUserClassPath() const { return m_userClassPath;}
+ const o3tl::optional< OUString> & getUserClassPath() const { return m_userClassPath;}
/** returns the value of the element /java/javaInfo.
*/
- const boost::optional<CNodeJavaInfo> & getJavaInfo() const { return m_javaInfo;}
+ const o3tl::optional<CNodeJavaInfo> & getJavaInfo() const { return m_javaInfo;}
/** returns the parameters from the element /java/vmParameters/param.
*/
- const boost::optional< ::std::vector< OUString> > & getVmParameters() const { return m_vmParameters;}
+ const o3tl::optional< ::std::vector< OUString> > & getVmParameters() const { return m_vmParameters;}
/** returns the parameters from the element /java/jreLocations/location.
*/
- const boost::optional< ::std::vector< OUString> > & getJRELocations() const { return m_JRELocations;}
+ const o3tl::optional< ::std::vector< OUString> > & getJRELocations() const { return m_JRELocations;}
};
/** merges the settings for shared, user and installation during construction.
diff --git a/jvmfwk/inc/fwkbase.hxx b/jvmfwk/inc/fwkbase.hxx
index 790b9a40d8f7..07ea10a67ad1 100644
--- a/jvmfwk/inc/fwkbase.hxx
+++ b/jvmfwk/inc/fwkbase.hxx
@@ -21,7 +21,7 @@
#include <sal/config.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
#include <rtl/ustring.hxx>
#include "libxmlutil.hxx"
@@ -40,7 +40,7 @@ class VendorSettings
public:
VendorSettings();
- boost::optional<VersionInfo> getVersionInformation(const OUString & sVendor) const;
+ o3tl::optional<VersionInfo> getVersionInformation(const OUString & sVendor) const;
};
/* The class offers functions to retrieve verified bootstrap parameters.
diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx
index bc4a4b7554b7..69688df85295 100644
--- a/jvmfwk/source/elements.cxx
+++ b/jvmfwk/source/elements.cxx
@@ -34,7 +34,7 @@
#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
-#include <boost/optional.hpp>
+#include <o3tl/optional.hxx>
#include <string.h>
// For backwards compatibility, the nFeatures and nRequirements flag words are
@@ -236,9 +236,9 @@ void NodeJava::load()
CXmlCharPtr sEnabled( xmlNodeListGetString(
docUser, cur->children, 1));
if (xmlStrcmp(sEnabled, reinterpret_cast<xmlChar const *>("true")) == 0)
- m_enabled = boost::optional<sal_Bool>(true);
+ m_enabled = o3tl::optional<sal_Bool>(true);
else if (xmlStrcmp(sEnabled, reinterpret_cast<xmlChar const *>("false")) == 0)
- m_enabled = boost::optional<sal_Bool>(false);
+ m_enabled = o3tl::optional<sal_Bool>(false);
}
}
else if (xmlStrcmp(cur->name, reinterpret_cast<xmlChar const *>("userClassPath")) == 0)
@@ -251,7 +251,7 @@ void NodeJava::load()
{
CXmlCharPtr sUser(xmlNodeListGetString(
docUser, cur->children, 1));
- m_userClassPath = boost::optional<OUString>(OUString(sUser));
+ m_userClassPath = o3tl::optional<OUString>(OUString(sUser));
}
}
else if (xmlStrcmp(cur->name, reinterpret_cast<xmlChar const *>("javaInfo")) == 0)
@@ -264,7 +264,7 @@ void NodeJava::load()
if (xmlStrcmp(sNil, reinterpret_cast<xmlChar const *>("false")) == 0)
{
if (! m_javaInfo)
- m_javaInfo = boost::optional<CNodeJavaInfo>(CNodeJavaInfo());
+ m_javaInfo = o3tl::optional<CNodeJavaInfo>(CNodeJavaInfo());
m_javaInfo->loadFromNode(docUser, cur);
}
}
@@ -277,7 +277,7 @@ void NodeJava::load()
if (xmlStrcmp(sNil, reinterpret_cast<xmlChar const *>("false")) == 0)
{
if ( ! m_vmParameters)
- m_vmParameters = boost::optional<std::vector<OUString> >(
+ m_vmParameters = o3tl::optional<std::vector<OUString> >(
std::vector<OUString> ());
xmlNode * pOpt = cur->children;
@@ -302,7 +302,7 @@ void NodeJava::load()
if (xmlStrcmp(sNil, reinterpret_cast<xmlChar const *>("false")) == 0)
{
if (! m_JRELocations)
- m_JRELocations = boost::optional<std::vector<OUString> >(
+ m_JRELocations = o3tl::optional<std::vector<OUString> >(
std::vector<OUString>());
xmlNode * pLoc = cur->children;
@@ -418,7 +418,7 @@ void NodeJava::write() const
reinterpret_cast<xmlChar const *>("nil"),
reinterpret_cast<xmlChar const *>("false"));
- if (m_enabled == boost::optional<sal_Bool>(true))
+ if (m_enabled == o3tl::optional<sal_Bool>(true))
xmlNodeSetContent(nodeEnabled,reinterpret_cast<xmlChar const *>("true"));
else
xmlNodeSetContent(nodeEnabled,reinterpret_cast<xmlChar const *>("false"));
@@ -531,19 +531,19 @@ void NodeJava::write() const
void NodeJava::setEnabled(bool bEnabled)
{
- m_enabled = boost::optional<sal_Bool>(bEnabled);
+ m_enabled = o3tl::optional<sal_Bool>(bEnabled);
}
void NodeJava::setUserClassPath(const OUString & sClassPath)
{
- m_userClassPath = boost::optional<OUString>(sClassPath);
+ m_userClassPath = o3tl::optional<OUString>(sClassPath);
}
void NodeJava::setJavaInfo(const JavaInfo * pInfo, bool bAutoSelect)
{
if (!m_javaInfo)
- m_javaInfo = boost::optional<CNodeJavaInfo>(CNodeJavaInfo());
+ m_javaInfo = o3tl::optional<CNodeJavaInfo>(CNodeJavaInfo());
m_javaInfo->bAutoSelect = bAutoSelect;
m_javaInfo->bNil = false;
@@ -571,13 +571,13 @@ void NodeJava::setJavaInfo(const JavaInfo * pInfo, bool bAutoSelect)
void NodeJava::setVmParameters(std::vector<OUString> const & arOptions)
{
- m_vmParameters = boost::optional<std::vector<OUString> >(arOptions);
+ m_vmParameters = o3tl::optional<std::vector<OUString> >(arOptions);
}
void NodeJava::addJRELocation(OUString const & sLocation)
{
if (!m_JRELocations)
- m_JRELocations = boost::optional<std::vector<OUString> >(
+ m_JRELocations = o3tl::optional<std::vector<OUString> >(
std::vector<OUString> ());
//only add the path if not already present
std::vector<OUString>::const_iterator it =
diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx
index ece4dd2bd717..df00365fd4c7 100644
--- a/jvmfwk/source/fwkbase.cxx
+++ b/jvmfwk/source/fwkbase.cxx
@@ -113,7 +113,7 @@ VendorSettings::VendorSettings():
}
}
-boost::optional<VersionInfo> VendorSettings::getVersionInformation(const OUString & sVendor) const
+o3tl::optional<VersionInfo> VendorSettings::getVersionInformation(const OUString & sVendor) const
{
OSL_ASSERT(!sVendor.isEmpty());
OString osVendor = OUStringToOString(sVendor, RTL_TEXTENCODING_UTF8);