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().