LibreOffice Module sc (master) 1
Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ScInterpreterContextPool Class Reference

#include <interpretercontext.hxx>

Collaboration diagram for ScInterpreterContextPool:
[legend]

Static Public Member Functions

static void ClearLookupCaches (const ScDocument *pDoc)
 

Private Member Functions

 ScInterpreterContextPool (bool bThreaded)
 
 ~ScInterpreterContextPool ()
 
void Init (size_t nNumThreads, const ScDocument &rDoc, SvNumberFormatter *pFormatter)
 
ScInterpreterContextGetInterpreterContextForThreadIdx (size_t nThreadIdx) const
 
void Init (const ScDocument &rDoc, SvNumberFormatter *pFormatter)
 
ScInterpreterContextGetInterpreterContext () const
 
void ReturnToPool ()
 

Private Attributes

std::vector< std::unique_ptr< ScInterpreterContext > > maPool
 
size_t mnNextFree
 
bool mbThreaded
 

Static Private Attributes

static ScInterpreterContextPool aThreadedInterpreterPool
 
static ScInterpreterContextPool aNonThreadedInterpreterPool
 

Friends

class ScThreadedInterpreterContextGetterGuard
 
class ScInterpreterContextGetterGuard
 

Detailed Description

Definition at line 94 of file interpretercontext.hxx.

Constructor & Destructor Documentation

◆ ScInterpreterContextPool()

ScInterpreterContextPool::ScInterpreterContextPool ( bool  bThreaded)
inlineprivate

Definition at line 103 of file interpretercontext.hxx.

◆ ~ScInterpreterContextPool()

ScInterpreterContextPool::~ScInterpreterContextPool ( )
inlineprivate

Definition at line 109 of file interpretercontext.hxx.

Member Function Documentation

◆ ClearLookupCaches()

void ScInterpreterContextPool::ClearLookupCaches ( const ScDocument pDoc)
static

◆ GetInterpreterContext()

ScInterpreterContext * ScInterpreterContextPool::GetInterpreterContext ( ) const
private

◆ GetInterpreterContextForThreadIdx()

ScInterpreterContext * ScInterpreterContextPool::GetInterpreterContextForThreadIdx ( size_t  nThreadIdx) const
private

◆ Init() [1/2]

void ScInterpreterContextPool::Init ( const ScDocument rDoc,
SvNumberFormatter pFormatter 
)
private

Definition at line 128 of file interpretercontext.cxx.

References maPool, mbThreaded, and mnNextFree.

◆ Init() [2/2]

void ScInterpreterContextPool::Init ( size_t  nNumThreads,
const ScDocument rDoc,
SvNumberFormatter pFormatter 
)
private

◆ ReturnToPool()

void ScInterpreterContextPool::ReturnToPool ( )
private

Friends And Related Function Documentation

◆ ScInterpreterContextGetterGuard

friend class ScInterpreterContextGetterGuard
friend

Definition at line 97 of file interpretercontext.hxx.

◆ ScThreadedInterpreterContextGetterGuard

Definition at line 96 of file interpretercontext.hxx.

Member Data Documentation

◆ aNonThreadedInterpreterPool

ScInterpreterContextPool ScInterpreterContextPool::aNonThreadedInterpreterPool
staticprivate

Definition at line 112 of file interpretercontext.hxx.

Referenced by ClearLookupCaches().

◆ aThreadedInterpreterPool

ScInterpreterContextPool ScInterpreterContextPool::aThreadedInterpreterPool
staticprivate

Definition at line 111 of file interpretercontext.hxx.

Referenced by ClearLookupCaches().

◆ maPool

std::vector<std::unique_ptr<ScInterpreterContext> > ScInterpreterContextPool::maPool
private

◆ mbThreaded

bool ScInterpreterContextPool::mbThreaded
private

◆ mnNextFree

size_t ScInterpreterContextPool::mnNextFree
private

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