23 #include <document.hxx>
35 , pInterpreter(nullptr)
36 , mpFormatter(pFormatter)
53 std::fill(maTokens.begin(), maTokens.end(),
nullptr);
102 size_t nOldSize =
maPool.size();
103 maPool.resize(nNumThreads);
104 for (
size_t nIdx = 0; nIdx < nNumThreads; ++nIdx)
106 if (nIdx >= nOldSize)
109 maPool[nIdx]->SetDocAndFormatter(rDoc, pFormatter);
118 return maPool[nThreadIdx].get();
134 maPool[nCurrIdx]->SetDocAndFormatter(rDoc, pFormatter);
150 for (
size_t nIdx = 0; nIdx <
maPool.size(); ++nIdx)
165 rPtr->ClearLookupCache();
167 rPtr->ClearLookupCache();
176 rPool.
Init(nNumThreads, rDoc, pFormatter);
196 , nContextIdx(rPool.mnNextFree)
std::vector< DelayedSetNumberFormat > maDelayedSetNumberFormat
ScInterpreterContextPool & rPool
static ScInterpreterContextPool aThreadedInterpreterPool
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
~ScInterpreterContextGetterGuard()
NFIndexAndFmtType maNFTypeCache
ScInterpreterContext * GetInterpreterContext() const
std::vector< std::unique_ptr< ScInterpreterContext > > maPool
ScThreadedInterpreterContextGetterGuard(size_t nNumThreads, const ScDocument &rDoc, SvNumberFormatter *pFormatter)
SvNumberFormatter * mpFormatter
void SetDocAndFormatter(const ScDocument &rDoc, SvNumberFormatter *pFormatter)
std::vector< sal_uInt32 > maConditions
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
static ScInterpreterContextPool aNonThreadedInterpreterPool
static void ClearLookupCaches()
std::unique_ptr< ScLookupCacheMap > mxScLookupCache
ScInterpreterContext()=delete
ScInterpreterContext * GetInterpreterContextForThreadIdx(size_t nThreadIdx) const
bool IsThreadedGroupCalcInProgress() const
ScInterpreterContextGetterGuard(const ScDocument &rDoc, SvNumberFormatter *pFormatter)
std::vector< formula::FormulaToken * > maTokens
~ScThreadedInterpreterContextGetterGuard()
ScInterpreterContextPool & rPool
SvNumFormatType GetNumberFormatType(sal_uInt32 nFIndex) const
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
ScInterpreterContext * GetInterpreterContext() const
void Init(size_t nNumThreads, const ScDocument &rDoc, SvNumberFormatter *pFormatter)
ScInterpreterContext * GetInterpreterContextForThreadIdx(size_t nThreadIdx) const