|
LibreOffice Module sc (master) 1
|
#include <jumpmatrix.hxx>
Public Member Functions | |
| ScJumpMatrix (OpCode eOp, SCSIZE nColsP, SCSIZE nRowsP) | |
| ~ScJumpMatrix () | |
| void | GetDimensions (SCSIZE &rCols, SCSIZE &rRows) const |
| void | SetJump (SCSIZE nCol, SCSIZE nRow, double fBool, short nStart, short nNext) |
| void | GetJump (SCSIZE nCol, SCSIZE nRow, double &rBool, short &rStart, short &rNext, short &rStop) const |
| void | SetAllJumps (double fBool, short nStart, short nNext, short nStop=SHRT_MAX) |
| void | SetJumpParameters (ScTokenVec &&p) |
| const ScTokenVec & | GetJumpParameters () const |
| bool | HasResultMatrix () const |
| ScMatrix * | GetResultMatrix () |
| also applies pending buffered values More... | |
| void | GetPos (SCSIZE &rCol, SCSIZE &rRow) const |
| bool | Next (SCSIZE &rCol, SCSIZE &rRow) |
| void | GetResMatDimensions (SCSIZE &rCols, SCSIZE &rRows) |
| void | SetNewResMat (SCSIZE nNewCols, SCSIZE nNewRows) |
| ScRefList & | GetRefList () |
| OpCode | GetOpCode () const |
| void | PutResultDouble (double fVal, SCSIZE nC, SCSIZE nR) |
| void | PutResultString (const svl::SharedString &rStr, SCSIZE nC, SCSIZE nR) |
| void | PutResultEmpty (SCSIZE nC, SCSIZE nR) |
| void | PutResultEmptyPath (SCSIZE nC, SCSIZE nR) |
Private Types | |
| enum | BufferType { BUFFER_NONE , BUFFER_DOUBLE , BUFFER_STRING , BUFFER_EMPTY , BUFFER_EMPTYPATH } |
Private Member Functions | |
| void | FlushBufferOtherThan (BufferType eType, SCSIZE nC, SCSIZE nR) |
| Flush different types or non-consecutive buffers. More... | |
| ScJumpMatrix (const ScJumpMatrix &)=delete | |
| ScJumpMatrix & | operator= (const ScJumpMatrix &)=delete |
Private Attributes | |
| std::vector< ScJumpMatrixEntry > | mvJump |
| ScMatrixRef | pMat |
| ScRefList | mvRefList |
| ScTokenVec | mvParams |
| SCSIZE | nCols |
| SCSIZE | nRows |
| SCSIZE | nCurCol |
| SCSIZE | nCurRow |
| SCSIZE | nResMatCols |
| SCSIZE | nResMatRows |
| OpCode | meOp |
| bool | bStarted |
| ::std::vector< svl::SharedString > | mvBufferStrings |
| ::std::vector< double > | mvBufferDoubles |
| SCSIZE | mnBufferCol |
| SCSIZE | mnBufferRowStart |
| SCSIZE | mnBufferEmptyCount |
| SCSIZE | mnBufferEmptyPathCount |
Definition at line 57 of file jumpmatrix.hxx.
|
private |
| Enumerator | |
|---|---|
| BUFFER_NONE | |
| BUFFER_DOUBLE | |
| BUFFER_STRING | |
| BUFFER_EMPTY | |
| BUFFER_EMPTYPATH | |
Definition at line 83 of file jumpmatrix.hxx.
|
privatedelete |
pJump not initialized
Definition at line 29 of file jumpmatrix.cxx.
References CreateDoubleError(), and NotAvailable.
| ScJumpMatrix::~ScJumpMatrix | ( | ) |
Definition at line 51 of file jumpmatrix.cxx.
|
private |
Flush different types or non-consecutive buffers.
Definition at line 174 of file jumpmatrix.cxx.
References BUFFER_DOUBLE, BUFFER_EMPTY, BUFFER_EMPTYPATH, BUFFER_STRING, eType, mnBufferCol, mnBufferEmptyCount, mnBufferEmptyPathCount, mnBufferRowStart, mvBufferDoubles, mvBufferStrings, and pMat.
Referenced by GetResultMatrix(), PutResultDouble(), PutResultEmpty(), PutResultEmptyPath(), PutResultString(), and SetNewResMat().
Definition at line 57 of file jumpmatrix.cxx.
Referenced by lcl_AdjustJumpMatrix(), and ScInterpreter::ScRandomImpl().
| void ScJumpMatrix::GetJump | ( | SCSIZE | nCol, |
| SCSIZE | nRow, | ||
| double & | rBool, | ||
| short & | rStart, | ||
| short & | rNext, | ||
| short & | rStop | ||
| ) | const |
Definition at line 69 of file jumpmatrix.cxx.
References GetJump(), mvJump, nCols, and nRows.
Referenced by GetJump(), and ScInterpreter::JumpMatrix().
|
inline |
Definition at line 106 of file jumpmatrix.hxx.
References mvParams.
Referenced by ScInterpreter::JumpMatrix().
|
inline |
Definition at line 114 of file jumpmatrix.hxx.
References meOp.
Referenced by ScInterpreter::JumpMatrix().
Definition at line 104 of file jumpmatrix.cxx.
References nCurCol, and nCurRow.
Referenced by ScInterpreter::DoubleRefToPosSingleRef(), ScInterpreter::GetDoubleFromMatrix(), ScInterpreter::GetDoubleOrStringFromMatrix(), ScInterpreter::GetStringFromMatrix(), ScInterpreter::IsEven(), ScInterpreter::IsString(), ScInterpreter::JumpMatrix(), Next(), ScInterpreter::ScFilterXML(), ScInterpreter::ScIsEmpty(), ScInterpreter::ScIsErr(), ScInterpreter::ScIsError(), ScInterpreter::ScIsNV(), and ScInterpreter::ScIsValue().
| ScRefList & ScJumpMatrix::GetRefList | ( | ) |
Definition at line 169 of file jumpmatrix.cxx.
References mvRefList.
Referenced by ScInterpreter::JumpMatrix().
Definition at line 129 of file jumpmatrix.cxx.
References nResMatCols, and nResMatRows.
Referenced by lcl_AdjustJumpMatrix().
| ScMatrix * ScJumpMatrix::GetResultMatrix | ( | ) |
also applies pending buffered values
Definition at line 202 of file jumpmatrix.cxx.
References BUFFER_NONE, FlushBufferOtherThan(), nResMatRows, and pMat.
Referenced by ScInterpreter::JumpMatrix().
| bool ScJumpMatrix::HasResultMatrix | ( | ) | const |
Definition at line 163 of file jumpmatrix.cxx.
References pMat.
Referenced by ScInterpreter::JumpMatrix().
Definition at line 110 of file jumpmatrix.cxx.
References bStarted, GetPos(), nCurCol, nCurRow, nResMatCols, and nResMatRows.
Referenced by ScInterpreter::JumpMatrix().
|
privatedelete |
Definition at line 209 of file jumpmatrix.cxx.
References BUFFER_DOUBLE, FlushBufferOtherThan(), mnBufferCol, mnBufferRowStart, mvBufferDoubles, nResMatRows, and pMat.
Referenced by ScInterpreter::JumpMatrix(), and lcl_storeJumpMatResult().
Definition at line 241 of file jumpmatrix.cxx.
References BUFFER_EMPTY, FlushBufferOtherThan(), mnBufferCol, mnBufferEmptyCount, mnBufferRowStart, nResMatRows, and pMat.
Referenced by ScInterpreter::JumpMatrix(), and lcl_storeJumpMatResult().
Definition at line 257 of file jumpmatrix.cxx.
References BUFFER_EMPTYPATH, FlushBufferOtherThan(), mnBufferCol, mnBufferEmptyPathCount, mnBufferRowStart, nResMatRows, and pMat.
Referenced by ScInterpreter::JumpMatrix().
| void ScJumpMatrix::PutResultString | ( | const svl::SharedString & | rStr, |
| SCSIZE | nC, | ||
| SCSIZE | nR | ||
| ) |
Definition at line 225 of file jumpmatrix.cxx.
References BUFFER_STRING, FlushBufferOtherThan(), mnBufferCol, mnBufferRowStart, mvBufferStrings, nResMatRows, and pMat.
Referenced by ScInterpreter::JumpMatrix(), and lcl_storeJumpMatResult().
| void ScJumpMatrix::SetAllJumps | ( | double | fBool, |
| short | nStart, | ||
| short | nNext, | ||
| short | nStop = SHRT_MAX |
||
| ) |
| void ScJumpMatrix::SetJumpParameters | ( | ScTokenVec && | p | ) |
Definition at line 99 of file jumpmatrix.cxx.
Definition at line 135 of file jumpmatrix.cxx.
References BUFFER_NONE, CreateDoubleError(), FlushBufferOtherThan(), nCurCol, nCurRow, nResMatCols, nResMatRows, nRows, and pMat.
Referenced by lcl_AdjustJumpMatrix().
|
private |
Definition at line 70 of file jumpmatrix.hxx.
Referenced by Next().
|
private |
Definition at line 69 of file jumpmatrix.hxx.
Referenced by GetOpCode().
|
private |
Definition at line 78 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), PutResultDouble(), PutResultEmpty(), PutResultEmptyPath(), and PutResultString().
|
private |
Definition at line 80 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), and PutResultEmpty().
|
private |
Definition at line 81 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), and PutResultEmptyPath().
|
private |
Definition at line 79 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), PutResultDouble(), PutResultEmpty(), PutResultEmptyPath(), and PutResultString().
|
private |
Definition at line 77 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), and PutResultDouble().
|
private |
Definition at line 76 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), and PutResultString().
|
private |
Definition at line 59 of file jumpmatrix.hxx.
Referenced by GetJump(), SetAllJumps(), and SetJump().
|
private |
Definition at line 62 of file jumpmatrix.hxx.
Referenced by GetJumpParameters(), SetJumpParameters(), and ~ScJumpMatrix().
|
private |
Definition at line 61 of file jumpmatrix.hxx.
Referenced by GetRefList().
|
private |
Definition at line 63 of file jumpmatrix.hxx.
Referenced by GetDimensions(), GetJump(), and SetAllJumps().
|
private |
Definition at line 65 of file jumpmatrix.hxx.
Referenced by GetPos(), Next(), and SetNewResMat().
|
private |
Definition at line 66 of file jumpmatrix.hxx.
Referenced by GetPos(), Next(), and SetNewResMat().
|
private |
Definition at line 67 of file jumpmatrix.hxx.
Referenced by GetResMatDimensions(), Next(), and SetNewResMat().
|
private |
Definition at line 68 of file jumpmatrix.hxx.
Referenced by GetResMatDimensions(), GetResultMatrix(), Next(), PutResultDouble(), PutResultEmpty(), PutResultEmptyPath(), PutResultString(), and SetNewResMat().
|
private |
Definition at line 64 of file jumpmatrix.hxx.
Referenced by GetDimensions(), GetJump(), SetAllJumps(), SetJump(), and SetNewResMat().
|
private |
Definition at line 60 of file jumpmatrix.hxx.
Referenced by FlushBufferOtherThan(), GetResultMatrix(), HasResultMatrix(), PutResultDouble(), PutResultEmpty(), PutResultEmptyPath(), PutResultString(), and SetNewResMat().