LibreOffice Module sc (master) 1
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | List of all members
ScQueryCellIteratorBase< accessType, queryType > Class Template Reference

#include <queryiter.hxx>

Inheritance diagram for ScQueryCellIteratorBase< accessType, queryType >:
[legend]
Collaboration diagram for ScQueryCellIteratorBase< accessType, queryType >:
[legend]

Public Member Functions

 ScQueryCellIteratorBase (ScDocument &rDocument, ScInterpreterContext &rContext, SCTAB nTable, const ScQueryParam &aParam, bool bMod)
 
void SetAdvanceQueryParamEntryField (bool bVal)
 
void AdvanceQueryParamEntryField ()
 

Protected Types

enum  StopOnMismatchBits {
  nStopOnMismatchDisabled = 0x00 ,
  nStopOnMismatchEnabled = 0x01 ,
  nStopOnMismatchOccurred = 0x02 ,
  nStopOnMismatchExecuted = nStopOnMismatchEnabled | nStopOnMismatchOccurred
}
 
enum  TestEqualConditionBits {
  nTestEqualConditionDisabled = 0x00 ,
  nTestEqualConditionEnabled = 0x01 ,
  nTestEqualConditionMatched = 0x02 ,
  nTestEqualConditionFulfilled = nTestEqualConditionEnabled | nTestEqualConditionMatched
}
 

Protected Member Functions

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

sal_uInt8 nStopOnMismatch
 
sal_uInt8 nTestEqualCondition
 
bool bAdvanceQuery
 
bool bIgnoreMismatchOnLeadingStrings
 

Private Types

typedef ScQueryCellIteratorAccessSpecific< accessType > AccessBase
 
typedef ScQueryCellIteratorTypeSpecific< queryType > TypeBase
 

Detailed Description

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
class ScQueryCellIteratorBase< accessType, queryType >

Definition at line 139 of file queryiter.hxx.

Member Typedef Documentation

◆ AccessBase

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
typedef ScQueryCellIteratorAccessSpecific< accessType > ScQueryCellIteratorBase< accessType, queryType >::AccessBase
private

Definition at line 143 of file queryiter.hxx.

◆ TypeBase

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
typedef ScQueryCellIteratorTypeSpecific< queryType > ScQueryCellIteratorBase< accessType, queryType >::TypeBase
private

Definition at line 144 of file queryiter.hxx.

Member Enumeration Documentation

◆ StopOnMismatchBits

Enumerator
nStopOnMismatchDisabled 
nStopOnMismatchEnabled 
nStopOnMismatchOccurred 
nStopOnMismatchExecuted 

Definition at line 146 of file queryiter.hxx.

◆ TestEqualConditionBits

Enumerator
nTestEqualConditionDisabled 
nTestEqualConditionEnabled 
nTestEqualConditionMatched 
nTestEqualConditionFulfilled 

Definition at line 154 of file queryiter.hxx.

Constructor & Destructor Documentation

◆ ScQueryCellIteratorBase()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
ScQueryCellIteratorBase< accessType, queryType >::ScQueryCellIteratorBase ( ScDocument rDocument,
ScInterpreterContext rContext,
SCTAB  nTable,
const ScQueryParam aParam,
bool  bMod 
)

Member Function Documentation

◆ AdvanceQueryParamEntryField()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::AdvanceQueryParamEntryField

Definition at line 287 of file queryiter.cxx.

◆ BinarySearch()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
bool ScQueryCellIteratorBase< accessType, queryType >::BinarySearch ( SCCOL  col,
bool  forEqual = false 
)
protected

◆ InitPos()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::InitPos
protected

Definition at line 238 of file queryiter.cxx.

◆ IsEqualConditionFulfilled()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
bool ScQueryCellIteratorBase< accessType, queryType >::IsEqualConditionFulfilled ( ) const
inlineprotected

◆ PerformQuery()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::PerformQuery
protected

◆ SetAdvanceQueryParamEntryField()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::SetAdvanceQueryParamEntryField ( bool  bVal)
inline

◆ SetStopOnMismatch()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::SetStopOnMismatch ( bool  bVal)
inlineprotected

If set, iterator stops on first non-matching cell content.

May be used in SC_LESS_EQUAL queries where a cell range is assumed to be sorted; stops on first value being greater than the queried value and GetFirst()/GetNext() return NULL. StoppedOnMismatch() returns true then. However, the iterator's conditions are not set to end all queries, GetCol() and GetRow() return values for the non-matching cell, further GetNext() calls may be executed.

Definition at line 208 of file queryiter.hxx.

References ScQueryCellIteratorBase< accessType, queryType >::nStopOnMismatch, ScQueryCellIteratorBase< accessType, queryType >::nStopOnMismatchDisabled, and ScQueryCellIteratorBase< accessType, queryType >::nStopOnMismatchEnabled.

◆ SetTestEqualCondition()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
void ScQueryCellIteratorBase< accessType, queryType >::SetTestEqualCondition ( bool  bVal)
inlineprotected

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.

May be used where a cell range is assumed to be sorted to stop if an equal match is found.

Definition at line 221 of file queryiter.hxx.

References ScQueryCellIteratorBase< accessType, queryType >::nTestEqualCondition, ScQueryCellIteratorBase< accessType, queryType >::nTestEqualConditionDisabled, and ScQueryCellIteratorBase< accessType, queryType >::nTestEqualConditionEnabled.

◆ StoppedOnMismatch()

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
bool ScQueryCellIteratorBase< accessType, queryType >::StoppedOnMismatch ( ) const
inlineprotected

Member Data Documentation

◆ bAdvanceQuery

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
bool ScQueryCellIteratorBase< accessType, queryType >::bAdvanceQuery
protected

◆ bIgnoreMismatchOnLeadingStrings

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
bool ScQueryCellIteratorBase< accessType, queryType >::bIgnoreMismatchOnLeadingStrings
protected

Definition at line 165 of file queryiter.hxx.

◆ nStopOnMismatch

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
sal_uInt8 ScQueryCellIteratorBase< accessType, queryType >::nStopOnMismatch
protected

◆ nTestEqualCondition

template<ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType>
sal_uInt8 ScQueryCellIteratorBase< accessType, queryType >::nTestEqualCondition
protected

The documentation for this class was generated from the following files: