LibreOffice Module sc (master) 1
|
#include <tokstack.hxx>
Classes | |
struct | ExtAreaRef |
for storage of external area references More... | |
struct | ExtCellRef |
for storage of external cell references More... | |
struct | EXTCONT |
struct | ExtName |
for storage of external names More... | |
struct | RangeName |
for storage of named ranges More... | |
Public Member Functions | |
TokenPool (svl::SharedStringPool &rSPool) | |
~TokenPool () | |
TokenPool & | operator<< (const TokenId &rId) |
TokenPool & | operator<< (const DefTokenId eId) |
TokenPool & | operator<< (TokenStack &rStack) |
void | operator>> (TokenId &rId) |
void | operator>> (TokenStack &rStack) |
TokenId | Store () |
TokenId | Store (const double &rDouble) |
TokenId | Store (const sal_uInt16 nIndex) |
TokenId | Store (const OUString &rString) |
TokenId | Store (const ScSingleRefData &rTr) |
TokenId | Store (const ScComplexRefData &rTr) |
TokenId | Store (const DefTokenId eId, const OUString &rName) |
TokenId | StoreNlf (const ScSingleRefData &rTr) |
TokenId | StoreMatrix () |
TokenId | StoreName (sal_uInt16 nIndex, sal_Int16 nSheet) |
TokenId | StoreExtName (sal_uInt16 nFileId, const OUString &rName) |
TokenId | StoreExtRef (sal_uInt16 nFileId, const OUString &rTabName, const ScSingleRefData &rRef) |
TokenId | StoreExtRef (sal_uInt16 nFileId, const OUString &rTabName, const ScComplexRefData &rRef) |
std::unique_ptr< ScTokenArray > | GetTokenArray (const ScDocument &rDoc, const TokenId &rId) |
void | Reset () |
bool | IsSingleOp (const TokenId &rId, const DefTokenId eId) const |
const OUString * | GetExternal (const TokenId &rId) const |
ScMatrix * | GetMatrix (unsigned int n) const |
Private Member Functions | |
bool | GrowTripel (sal_uInt16 nByMin) |
bool | GrowId () |
bool | GrowElement () |
bool | GrowMatrix () |
bool | CheckElementOrGrow () |
bool | GetElement (const sal_uInt16 nId, ScTokenArray *pScToken) |
bool | GetElementRek (const sal_uInt16 nId, ScTokenArray *pScToken) |
void | ClearMatrix () |
Private Attributes | |
svl::SharedStringPool & | mrStringPool |
TokenPoolPool< std::unique_ptr< OUString >, 4 > | ppP_Str |
TokenPoolPool< double, 8 > | pP_Dbl |
TokenPoolPool< sal_uInt16, 8 > | pP_Err |
TokenPoolPool< std::unique_ptr< ScSingleRefData >, 32 > | ppP_RefTr |
std::unique_ptr< sal_uInt16[]> | pP_Id |
sal_uInt16 | nP_Id |
sal_uInt16 | nP_IdCurrent |
sal_uInt16 | nP_IdLast |
TokenPoolPool< std::unique_ptr< EXTCONT >, 32 > | ppP_Ext |
TokenPoolPool< std::unique_ptr< ScSingleRefData >, 16 > | ppP_Nlf |
std::unique_ptr< ScMatrix *[]> | ppP_Matrix |
sal_uInt16 | nP_Matrix |
sal_uInt16 | nP_MatrixCurrent |
::std::vector< RangeName > | maRangeNames |
::std::vector< ExtName > | maExtNames |
::std::vector< ExtCellRef > | maExtCellRefs |
::std::vector< ExtAreaRef > | maExtAreaRefs |
std::unique_ptr< sal_uInt16[]> | pElement |
std::unique_ptr< E_TYPE[]> | pType |
std::unique_ptr< sal_uInt16[]> | pSize |
sal_uInt16 | nElement |
sal_uInt16 | nElementCurrent |
sal_uInt16 | m_nRek |
Static Private Attributes | |
static const sal_uInt16 | nScTokenOff = 8192 |
Definition at line 129 of file tokstack.hxx.
TokenPool::TokenPool | ( | svl::SharedStringPool & | rSPool | ) |
TokenPool::~TokenPool | ( | ) |
Definition at line 67 of file tokstack.cxx.
References ClearMatrix().
|
private |
Definition at line 107 of file tokstack.cxx.
References GrowElement(), nElement, nElementCurrent, nScTokenOff, and SAL_WARN.
Referenced by operator>>(), Store(), StoreExtName(), StoreExtRef(), StoreMatrix(), StoreName(), and StoreNlf().
|
private |
Definition at line 740 of file tokstack.cxx.
References n, nP_Matrix, and ppP_Matrix.
Referenced by Reset(), and ~TokenPool().
|
private |
Definition at line 170 of file tokstack.cxx.
References ScTokenArray::AddColRowName(), formula::FormulaTokenArray::AddDouble(), ScTokenArray::AddDoubleReference(), formula::FormulaTokenArray::AddExternal(), ScTokenArray::AddExternalDoubleReference(), ScTokenArray::AddExternalName(), ScTokenArray::AddExternalSingleReference(), ScTokenArray::AddMatrix(), ScTokenArray::AddOpCode(), ScTokenArray::AddRangeName(), ScTokenArray::AddSingleReference(), formula::FormulaTokenArray::AddString(), GetElementRek(), TokenPoolPool< T, InitialCapacity >::getIfInRange(), svl::SharedStringPool::intern(), TokenPoolPool< T, InitialCapacity >::m_writemark, maExtAreaRefs, maExtCellRefs, maExtNames, TokenPool::ExtName::maName, maRangeNames, TokenPool::ExtCellRef::maRef, TokenPool::ExtAreaRef::maRef, TokenPool::ExtCellRef::maTabName, TokenPool::ExtAreaRef::maTabName, TokenPool::ExtName::mnFileId, TokenPool::ExtCellRef::mnFileId, TokenPool::ExtAreaRef::mnFileId, TokenPool::RangeName::mnIndex, TokenPool::RangeName::mnSheet, mrStringPool, n, nElementCurrent, nId, nP_Matrix, ocEuroConvert, p, pElement, pP_Dbl, pP_Err, ppP_Ext, ppP_Matrix, ppP_Nlf, ppP_RefTr, ppP_Str, pType, ScComplexRefData::Ref1, ScComplexRefData::Ref2, SAL_WARN, T_D, T_Err, T_Ext, T_ExtName, T_ExtRefA, T_ExtRefC, T_Id, T_Matrix, T_Nlf, T_RefA, T_RefC, T_RN, and T_Str.
Referenced by GetElementRek(), and GetTokenArray().
|
private |
Definition at line 332 of file tokstack.cxx.
References ScTokenArray::AddOpCode(), GetElement(), GetElementRek(), m_nRek, nElementCurrent, nId, nP_Id, nScTokenOff, pElement, pP_Id, pSize, pType, SAL_WARN, and T_Id.
Referenced by GetElement(), and GetElementRek().
const OUString * TokenPool::GetExternal | ( | const TokenId & | rId | ) | const |
Definition at line 713 of file tokstack.cxx.
References n, nElementCurrent, p, pElement, ppP_Ext, pType, and T_Ext.
Referenced by ExcelToSc::DoMulArgs().
Definition at line 731 of file tokstack.cxx.
References n, nP_MatrixCurrent, ppP_Matrix, and SAL_WARN.
Referenced by ExcelToSc::ReadExtensionArray().
|
inline |
Definition at line 411 of file tokstack.hxx.
References GetElement(), and m_nRek.
Referenced by QProToSc::Convert(), ExcelToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), ExcelToSc8::ConvertExternName(), ExcelToSc::GetBoolErr(), and ExcelToSc::GetDummy().
|
private |
Definition at line 122 of file tokstack.cxx.
References lcl_canGrow(), nElement, pElement, pSize, and pType.
Referenced by CheckElementOrGrow().
|
private |
Definition at line 88 of file tokstack.cxx.
References lcl_canGrow(), nP_Id, and pP_Id.
Referenced by operator<<().
|
private |
Definition at line 151 of file tokstack.cxx.
References lcl_canGrow(), nP_Matrix, and ppP_Matrix.
Referenced by StoreMatrix().
|
private |
bool TokenPool::IsSingleOp | ( | const TokenId & | rId, |
const DefTokenId | eId | ||
) | const |
Definition at line 687 of file tokstack.cxx.
References nElementCurrent, nId, nP_Id, nScTokenOff, pElement, pP_Id, pSize, pType, and T_Id.
Referenced by ExcelToSc::DoMulArgs().
|
inline |
Definition at line 364 of file tokstack.hxx.
References GrowId(), nP_Id, nP_IdCurrent, nScTokenOff, pP_Id, and SAL_WARN.
Definition at line 333 of file tokstack.hxx.
References GrowId(), nId, nP_Id, nP_IdCurrent, nScTokenOff, ocErrNull, pP_Id, and SAL_WARN.
|
inline |
Definition at line 380 of file tokstack.hxx.
References TokenStack::Get(), GrowId(), nId, nP_Id, nP_IdCurrent, nScTokenOff, ocErrNull, and pP_Id.
void TokenPool::operator>> | ( | TokenId & | rId | ) |
Definition at line 403 of file tokstack.cxx.
References CheckElementOrGrow(), nElementCurrent, nP_IdCurrent, nP_IdLast, pElement, pSize, pType, and T_Id.
|
inline |
Definition at line 397 of file tokstack.hxx.
References nId.
void TokenPool::Reset | ( | void | ) |
Definition at line 675 of file tokstack.cxx.
References ClearMatrix(), TokenPoolPool< T, InitialCapacity >::m_writemark, maExtAreaRefs, maExtCellRefs, maExtNames, maRangeNames, nElementCurrent, nP_IdCurrent, nP_IdLast, nP_MatrixCurrent, pP_Dbl, pP_Err, ppP_Ext, ppP_Nlf, ppP_RefTr, and ppP_Str.
Referenced by ExcelToSc::GetBoolErr(), ConverterBase::Reset(), and TokenPool().
|
inline |
Definition at line 404 of file tokstack.hxx.
References nId.
Referenced by QProToSc::Convert(), ExcelToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), ExcelToSc8::ConvertExternName(), LotusToSc::DecToken(), QProToSc::DoFunc(), LotusToSc::DoFunc(), ExcelToSc::DoMulArgs(), ExcelToSc::GetDummy(), QProToSc::IncToken(), LotusToSc::IncToken(), LotusToSc::NegToken(), and LotusToSc::Reset().
TokenId TokenPool::Store | ( | const DefTokenId | eId, |
const OUString & | rName | ||
) |
Definition at line 528 of file tokstack.cxx.
References CheckElementOrGrow(), nElementCurrent, pElement, ppP_Ext, pType, and T_Ext.
TokenId TokenPool::Store | ( | const double & | rDouble | ) |
Definition at line 419 of file tokstack.cxx.
References CheckElementOrGrow(), TokenPoolPool< T, InitialCapacity >::Grow(), TokenPoolPool< T, InitialCapacity >::m_capacity, TokenPoolPool< T, InitialCapacity >::m_writemark, nElementCurrent, pElement, pP_Dbl, pSize, pType, and T_D.
TokenId TokenPool::Store | ( | const OUString & | rString | ) |
Definition at line 446 of file tokstack.cxx.
References CheckElementOrGrow(), TokenPoolPool< T, InitialCapacity >::Grow(), TokenPoolPool< T, InitialCapacity >::m_capacity, TokenPoolPool< T, InitialCapacity >::m_writemark, nElementCurrent, pElement, ppP_Str, pSize, pType, and T_Str.
TokenId TokenPool::Store | ( | const sal_uInt16 | nIndex | ) |
Definition at line 441 of file tokstack.cxx.
References nIndex, and StoreName().
TokenId TokenPool::Store | ( | const ScComplexRefData & | rTr | ) |
Definition at line 499 of file tokstack.cxx.
References CheckElementOrGrow(), TokenPoolPool< T, InitialCapacity >::Grow(), TokenPoolPool< T, InitialCapacity >::m_capacity, TokenPoolPool< T, InitialCapacity >::m_writemark, nElementCurrent, pElement, ppP_RefTr, pType, ScComplexRefData::Ref1, ScComplexRefData::Ref2, and T_RefA.
TokenId TokenPool::Store | ( | const ScSingleRefData & | rTr | ) |
Definition at line 476 of file tokstack.cxx.
References CheckElementOrGrow(), TokenPoolPool< T, InitialCapacity >::Grow(), TokenPoolPool< T, InitialCapacity >::m_capacity, TokenPoolPool< T, InitialCapacity >::m_writemark, nElementCurrent, pElement, ppP_RefTr, pType, and T_RefC.
TokenId TokenPool::StoreExtName | ( | sal_uInt16 | nFileId, |
const OUString & | rName | ||
) |
Definition at line 619 of file tokstack.cxx.
References CheckElementOrGrow(), maExtNames, TokenPool::ExtName::maName, TokenPool::ExtName::mnFileId, nElementCurrent, pElement, pType, and T_ExtName.
Referenced by ExcelToSc8::Convert().
TokenId TokenPool::StoreExtRef | ( | sal_uInt16 | nFileId, |
const OUString & | rTabName, | ||
const ScComplexRefData & | rRef | ||
) |
Definition at line 656 of file tokstack.cxx.
References CheckElementOrGrow(), maExtAreaRefs, TokenPool::ExtAreaRef::maRef, TokenPool::ExtAreaRef::maTabName, TokenPool::ExtAreaRef::mnFileId, nElementCurrent, pElement, pType, and T_ExtRefA.
TokenId TokenPool::StoreExtRef | ( | sal_uInt16 | nFileId, |
const OUString & | rTabName, | ||
const ScSingleRefData & | rRef | ||
) |
Definition at line 637 of file tokstack.cxx.
References CheckElementOrGrow(), maExtCellRefs, TokenPool::ExtCellRef::maRef, TokenPool::ExtCellRef::maTabName, TokenPool::ExtCellRef::mnFileId, nElementCurrent, pElement, pType, and T_ExtRefC.
Referenced by ExcelToSc8::Convert(), and ExcelToSc8::ConvertExternName().
TokenId TokenPool::StoreMatrix | ( | ) |
Definition at line 579 of file tokstack.cxx.
References CheckElementOrGrow(), GrowMatrix(), ScMatrix::IncRef(), nElementCurrent, nP_Matrix, nP_MatrixCurrent, pElement, ppP_Matrix, pType, and T_Matrix.
Referenced by ExcelToSc::Convert(), and ExcelToSc8::Convert().
TokenId TokenPool::StoreName | ( | sal_uInt16 | nIndex, |
sal_Int16 | nSheet | ||
) |
Definition at line 601 of file tokstack.cxx.
References CheckElementOrGrow(), maRangeNames, TokenPool::RangeName::mnIndex, TokenPool::RangeName::mnSheet, nElementCurrent, nIndex, pElement, pType, and T_RN.
Referenced by ExcelToSc::Convert(), ExcelToSc8::Convert(), and Store().
TokenId TokenPool::StoreNlf | ( | const ScSingleRefData & | rTr | ) |
Definition at line 554 of file tokstack.cxx.
References CheckElementOrGrow(), TokenPoolPool< T, InitialCapacity >::Grow(), TokenPoolPool< T, InitialCapacity >::m_capacity, TokenPoolPool< T, InitialCapacity >::m_writemark, nElementCurrent, pElement, ppP_Nlf, pType, and T_Nlf.
Referenced by ExcelToSc8::Convert().
|
private |
Definition at line 210 of file tokstack.hxx.
Referenced by GetElementRek(), and GetTokenArray().
|
private |
Definition at line 200 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and StoreExtRef().
|
private |
Definition at line 191 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and StoreExtRef().
|
private |
Definition at line 182 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and StoreExtName().
|
private |
Definition at line 174 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and StoreName().
|
private |
Definition at line 134 of file tokstack.hxx.
Referenced by GetElement().
|
private |
Definition at line 205 of file tokstack.hxx.
Referenced by CheckElementOrGrow(), GrowElement(), and TokenPool().
|
private |
Definition at line 206 of file tokstack.hxx.
Referenced by CheckElementOrGrow(), GetElement(), GetElementRek(), GetExternal(), IsSingleOp(), operator>>(), Reset(), Store(), StoreExtName(), StoreExtRef(), StoreMatrix(), StoreName(), and StoreNlf().
|
private |
Definition at line 147 of file tokstack.hxx.
Referenced by GetElementRek(), GrowId(), IsSingleOp(), operator<<(), and TokenPool().
|
private |
Definition at line 148 of file tokstack.hxx.
Referenced by operator<<(), operator>>(), and Reset().
|
private |
Definition at line 149 of file tokstack.hxx.
Referenced by operator>>(), Reset(), and TokenPool().
|
private |
Definition at line 165 of file tokstack.hxx.
Referenced by ClearMatrix(), GetElement(), GrowMatrix(), StoreMatrix(), and TokenPool().
|
private |
Definition at line 166 of file tokstack.hxx.
Referenced by GetMatrix(), Reset(), and StoreMatrix().
|
staticprivate |
Definition at line 208 of file tokstack.hxx.
Referenced by CheckElementOrGrow(), GetElementRek(), IsSingleOp(), and operator<<().
|
private |
Definition at line 202 of file tokstack.hxx.
Referenced by GetElement(), GetElementRek(), GetExternal(), GrowElement(), IsSingleOp(), operator>>(), Store(), StoreExtName(), StoreExtRef(), StoreMatrix(), StoreName(), StoreNlf(), and TokenPool().
|
private |
Definition at line 139 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and Store().
|
private |
Definition at line 142 of file tokstack.hxx.
Referenced by GetElement(), and Reset().
|
private |
Definition at line 146 of file tokstack.hxx.
Referenced by GetElementRek(), GrowId(), IsSingleOp(), operator<<(), and TokenPool().
|
private |
Definition at line 159 of file tokstack.hxx.
Referenced by GetElement(), GetExternal(), Reset(), and Store().
|
private |
Definition at line 164 of file tokstack.hxx.
Referenced by ClearMatrix(), GetElement(), GetMatrix(), GrowMatrix(), StoreMatrix(), and TokenPool().
|
private |
Definition at line 162 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and StoreNlf().
|
private |
Definition at line 145 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and Store().
|
private |
Definition at line 137 of file tokstack.hxx.
Referenced by GetElement(), Reset(), and Store().
|
private |
Definition at line 204 of file tokstack.hxx.
Referenced by GetElementRek(), GrowElement(), IsSingleOp(), operator>>(), Store(), and TokenPool().
|
private |
Definition at line 203 of file tokstack.hxx.
Referenced by GetElement(), GetElementRek(), GetExternal(), GrowElement(), IsSingleOp(), operator>>(), Store(), StoreExtName(), StoreExtRef(), StoreMatrix(), StoreName(), StoreNlf(), and TokenPool().