LibreOffice Module sc (master) 1
|
#include <queryiter.hxx>
Public Member Functions | |
ScQueryCellIterator (ScDocument &rDocument, ScInterpreterContext &rContext, SCTAB nTable, const ScQueryParam &aParam, bool bMod) | |
bool | GetFirst () |
bool | GetNext () |
SCCOL | GetCol () const |
SCROW | GetRow () const |
bool | FindEqualOrSortedLastInRange (SCCOL &nFoundCol, SCROW &nFoundRow) |
In a range assumed to be sorted find either the last of a sequence of equal entries or the last being less than (or greater than) the queried value. More... | |
Public Member Functions inherited from ScQueryCellIteratorBase< accessType, ScQueryCellIteratorType::Generic > | |
ScQueryCellIteratorBase (ScDocument &rDocument, ScInterpreterContext &rContext, SCTAB nTable, const ScQueryParam &aParam, bool bMod) | |
void | SetAdvanceQueryParamEntryField (bool bVal) |
void | AdvanceQueryParamEntryField () |
Private Types | |
typedef ScQueryCellIteratorBase< accessType, ScQueryCellIteratorType::Generic > | Base |
Private Member Functions | |
bool | GetThis () |
Additional Inherited Members | |
Protected Types inherited from ScQueryCellIteratorBase< accessType, ScQueryCellIteratorType::Generic > | |
enum | StopOnMismatchBits |
enum | TestEqualConditionBits |
Protected Member Functions inherited from ScQueryCellIteratorBase< accessType, ScQueryCellIteratorType::Generic > | |
void | InitPos () |
void | PerformQuery () |
bool | BinarySearch (SCCOL col, bool forEqual=false) |
void | SetStopOnMismatch (bool bVal) |
If set, iterator stops on first non-matching cell content. More... | |
bool | StoppedOnMismatch () const |
void | SetTestEqualCondition (bool bVal) |
If set, an additional test for SC_EQUAL condition is executed in ScTable::ValidQuery() if SC_LESS_EQUAL or SC_GREATER_EQUAL conditions are to be tested. More... | |
bool | IsEqualConditionFulfilled () const |
Protected Member Functions inherited from ScQueryCellIteratorTypeSpecific< queryType > | |
bool | HandleItemFound () |
Protected Attributes inherited from ScQueryCellIteratorBase< accessType, ScQueryCellIteratorType::Generic > | |
sal_uInt8 | nStopOnMismatch |
sal_uInt8 | nTestEqualCondition |
bool | bAdvanceQuery |
bool | bIgnoreMismatchOnLeadingStrings |
Definition at line 254 of file queryiter.hxx.
|
private |
Definition at line 257 of file queryiter.hxx.
|
inline |
Definition at line 286 of file queryiter.hxx.
bool ScQueryCellIterator< accessType >::FindEqualOrSortedLastInRange | ( | SCCOL & | nFoundCol, |
SCROW & | nFoundRow | ||
) |
In a range assumed to be sorted find either the last of a sequence of equal entries or the last being less than (or greater than) the queried value.
Used by the interpreter for [HV]?LOOKUP() and MATCH(). Column and row position of the found entry are returned, otherwise invalid.
The search does not stop when encountering a string and does not assume that no values follow anymore. If querying for a string a mismatch on the first entry, e.g. column header, is ignored.
@ATTENTION! StopOnMismatch, TestEqualCondition and the internal IgnoreMismatchOnLeadingStrings and query params are in an undefined state upon return! The iterator is not usable anymore except for obtaining the number format!
Definition at line 666 of file queryiter.cxx.
References ScQueryEntry::bDoQuery, ScQueryEntry::ByString, ScQueryEntry::ByValue, ScQueryEntry::eOp, ScQueryEntry::nField, utl::SearchParam::Normal, SC_EQUAL, SC_GREATER_EQUAL, and SC_LESS_EQUAL.
Referenced by ScInterpreter::CalculateLookup(), lcl_LookupQuery(), ScInterpreter::ScLookup(), and ScInterpreter::ScMatch().
|
inline |
Definition at line 291 of file queryiter.hxx.
Referenced by ScInterpreter::CalculateLookup(), ScInterpreter::IterateParametersIf(), ScInterpreter::IterateParametersIfs(), lcl_LookupQuery(), and ScInterpreter::ScMatch().
bool ScQueryCellIterator< accessType >::GetFirst |
Definition at line 1323 of file queryiter.cxx.
Referenced by ScInterpreter::CalculateLookup(), ScInterpreter::IterateParametersIf(), ScInterpreter::IterateParametersIfs(), lcl_LookupQuery(), ScInterpreter::ScDBCount(), and ScInterpreter::ScMatch().
bool ScQueryCellIterator< accessType >::GetNext |
Definition at line 1332 of file queryiter.cxx.
Referenced by ScInterpreter::IterateParametersIf(), ScInterpreter::IterateParametersIfs(), and ScInterpreter::ScDBCount().
|
inline |
Definition at line 292 of file queryiter.hxx.
Referenced by ScInterpreter::IterateParametersIf(), ScInterpreter::IterateParametersIfs(), and lcl_LookupQuery().
|
private |
Definition at line 1315 of file queryiter.cxx.