22#include <document.hxx>
28#include <rtl/math.hxx>
29#include <osl/diagnose.h>
34 mfValue(0.0), mbValue(false), mbEmpty(false) {}
41 eSearchType(eSrchTyp),
42 bMatchWholeCell(rDoc.GetDocOptions().IsMatchWholeCell())
66 size_t nStringQuery = 0;
145 sal_Int32 nStart = 0;
151 fRes = (bMatch ? 0 : 1);
174 bMatch = (aCell.indexOf( aQuer ) != -1);
176 fRes = (bMatch ? 0 : 1);
200 if (nStringQuery && pOptions)
214 if (nStringQuery == 1)
234 if (!std::isfinite(fCell2))
237 bool bStringQuery =
false;
252 if (!rtl::math::approxEqual(rCell1.
mfValue, fCell2))
254 if (rCell1.
mfValue - fCell2 < 0)
266 if (bStringQuery && pOptions)
294 if (!std::isfinite(fCell1))
296 if (!std::isfinite(fCell2))
301 if (!rtl::math::approxEqual(fCell1, fCell2))
303 if (fCell1 - fCell2 < 0.0)
316 if (!std::isfinite(fCell2))
sal_Int32 compareString(const OUString &s1, const OUString &s2) const
static SC_DLLPUBLIC CollatorWrapper & GetCollator()
case-insensitive collator
static SC_DLLPUBLIC ::utl::TransliterationWrapper & GetTransliteration()
static std::optional< SvtSysLocale > oSysLocale
static CollatorWrapper & GetCaseCollator()
case-sensitive collator
const OUString & getString() const
rtl_uString * getDataIgnoreCase()
sal_Int32 getLength() const
bool SearchForward(const OUString &rStr, sal_Int32 *pStart, sal_Int32 *pEnd, css::util::SearchResult *pRes=nullptr)
OUString transliterate(const OUString &rStr, sal_Int32 nStart, sal_Int32 nLen) const
CAUTION! The following defines must be in the same namespace as the respective type.
double CompareFunc(const Compare &rComp, CompareOptions *pOptions)
double CompareEmptyToNumericFunc(double fCell2)
Left cell is empty while the right cell is numeric.
svl::SharedString maString
Each instance of this struct represents a single filtering criteria.
const Item & GetQueryItem() const
std::vector< Item > QueryItemsType
utl::TextSearch * GetSearchTextPtr(utl::SearchParam::SearchType eSearchType, bool bCaseSens, bool bWildMatchSel) const
creates pSearchParam and pSearchText if necessary
QueryItemsType & GetQueryItems()
CompareOptions(const ScDocument &rDoc, const ScQueryEntry &rEntry, utl::SearchParam::SearchType eSrchTyp)
utl::SearchParam::SearchType eSearchType