41namespace fast_multipole_embedder {
59template<
typename FuncInvokerType>
97#ifdef OGDF_HAS_LINUX_CPU_MACROS
145 template<
typename KernelType,
typename ArgType1>
Declaration of class ArrayGraph.
Implementation of a thread barrier.
Definition of utility functions for FME layout.
Declaration of class LinearQuadtree.
Declaration of Thread class representing threads.
Representation of a barrier.
Class used to invoke a functor or function inside a thread.
void doWork() override
overrides the task doWork() method and invokes the function or functor
FMEFuncInvokerTask(FuncInvokerType f)
constructor with an invoker
FuncInvokerType funcInvoker
the invoker
The thread task class used only as an interface.
The fast multipole embedder work thread class.
FMEThreadPool * threadPool() const
returns the ThreadPool this thread belongs to
bool isMainThread() const
returns true if this is the main thread ( the main thread is always the first thread )
void sync()
thread sync call
uint32_t numThreads() const
returns the total number of threads in the pool
void operator()()
the main work function
void setTask(FMETask *pTask)
sets the actual task
FMEThreadPool * m_pThreadPool
uint32_t threadNr() const
returns the index of the thread ( 0.. numThreads()-1 )
FMEThread(const FMEThread &)
FMEThread(FMEThreadPool *pThreadPool, uint32_t threadNr)
construtor
FMEThread & operator=(const FMEThread &)
Barrier * syncBarrier() const
returns the barrier instance used to sync the threads during execution
void runKernel(ArgType1 arg1)
void runThreads()
runs one iteration. This call blocks the main thread
uint32_t numThreads() const
returns the number of threads in this pool
FMEThread * thread(uint32_t threadNr) const
returns the threadNr-th thread
FMEThreadPool(uint32_t numThreads)
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.