summaryrefslogtreecommitdiff
path: root/sc/inc/calcconfig.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/calcconfig.hxx')
-rw-r--r--sc/inc/calcconfig.hxx55
1 files changed, 53 insertions, 2 deletions
diff --git a/sc/inc/calcconfig.hxx b/sc/inc/calcconfig.hxx
index eaaeb3f0f4d1..e051e1db2b38 100644
--- a/sc/inc/calcconfig.hxx
+++ b/sc/inc/calcconfig.hxx
@@ -41,6 +41,57 @@ struct SC_DLLPUBLIC ScCalcConfig
STRING_CONVERSION_LOCALE_DEPENDENT ///< =1+"1.000" may be 2 or 1001 ... =1+"x" gives #VALUE!
};
+ struct OpenCLImplementationMatcher
+ {
+ OUString maOS;
+ OUString maOSVersion;
+ OUString maPlatformVendor;
+ OUString maDevice;
+ OUString maDriverVersion;
+
+ OpenCLImplementationMatcher()
+ {
+ }
+
+ OpenCLImplementationMatcher(const OUString& rOS,
+ const OUString& rOSVersion,
+ const OUString& rPlatformVendor,
+ const OUString& rDevice,
+ const OUString& rDriverVersion)
+ : maOS(rOS),
+ maOSVersion(rOSVersion),
+ maPlatformVendor(rPlatformVendor),
+ maDevice(rDevice),
+ maDriverVersion(rDriverVersion)
+ {
+ }
+
+ bool operator==(const OpenCLImplementationMatcher& r) const
+ {
+ return maOS == r.maOS &&
+ maOSVersion == r.maOSVersion &&
+ maPlatformVendor == r.maPlatformVendor &&
+ maDevice == r.maDevice &&
+ maDriverVersion == r.maDriverVersion;
+ }
+ bool operator!=(const OpenCLImplementationMatcher& r) const
+ {
+ return !operator==(r);
+ }
+ bool operator<(const OpenCLImplementationMatcher& r) const
+ {
+ return (maOS < r.maOS ||
+ (maOS == r.maOS &&
+ (maOSVersion < r.maOSVersion ||
+ (maOSVersion == r.maOSVersion &&
+ (maPlatformVendor < r.maPlatformVendor ||
+ (maPlatformVendor == r.maPlatformVendor &&
+ (maDevice < r.maDevice ||
+ (maDevice == r.maDevice &&
+ (maDriverVersion < r.maDriverVersion)))))))));
+ }
+ };
+
formula::FormulaGrammar::AddressConvention meStringRefAddressSyntax;
StringConversion meStringConversion;
bool mbEmptyStringAsZero:1;
@@ -52,8 +103,8 @@ struct SC_DLLPUBLIC ScCalcConfig
sal_Int32 mnOpenCLMinimumFormulaGroupSize;
std::set<OpCodeEnum> maOpenCLSubsetOpCodes;
- std::set<OUString> maOpenCLWhiteList;
- std::set<OUString> maOpenCLBlackList;
+ std::set<OpenCLImplementationMatcher> maOpenCLWhiteList;
+ std::set<OpenCLImplementationMatcher> maOpenCLBlackList;
ScCalcConfig();