Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::SerialTask Class Reference
Inheritance diagram for Arcane::SerialTask:
Collaboration diagram for Arcane::SerialTask:

Public Types

typedef TaskFunctor< SerialTask > TaskType

Public Member Functions

 SerialTask (ITaskFunctor *f)
void launchAndWait () override
 Launches the task and blocks until it finishes.
void launchAndWait (ConstArrayView< ITask * > tasks) override
 Launches the child tasks tasks and blocks until they finish.
ITask_createChildTask (ITaskFunctor *functor) override

Static Public Attributes

static const int FUNCTOR_CLASS_SIZE = sizeof(TaskType)

Private Attributes

ITaskFunctorm_functor
char functor_buf [FUNCTOR_CLASS_SIZE]

Detailed Description

Definition at line 33 of file ConcurrencyUtils.cc.

Member Typedef Documentation

◆ TaskType

typedef TaskFunctor<SerialTask> Arcane::SerialTask::TaskType

Definition at line 38 of file ConcurrencyUtils.cc.

Constructor & Destructor Documentation

◆ SerialTask()

Arcane::SerialTask::SerialTask ( ITaskFunctor * f)
inline

Definition at line 46 of file ConcurrencyUtils.cc.

Member Function Documentation

◆ _createChildTask()

ITask * Arcane::SerialTask::_createChildTask ( ITaskFunctor * functor)
inlineoverridevirtual

Implements Arcane::ITask.

Definition at line 74 of file ConcurrencyUtils.cc.

◆ launchAndWait() [1/2]

void Arcane::SerialTask::launchAndWait ( )
inlineoverridevirtual

Launches the task and blocks until it finishes.

After calling this function, the task is destroyed and must not be used again.

Implements Arcane::ITask.

Definition at line 59 of file ConcurrencyUtils.cc.

References Arcane::ITaskFunctor::executeFunctor().

Here is the call graph for this function:

◆ launchAndWait() [2/2]

void Arcane::SerialTask::launchAndWait ( ConstArrayView< ITask * > tasks)
inlineoverridevirtual

Launches the child tasks tasks and blocks until they finish.

Implements Arcane::ITask.

Definition at line 69 of file ConcurrencyUtils.cc.

References Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

Member Data Documentation

◆ functor_buf

char Arcane::SerialTask::functor_buf[FUNCTOR_CLASS_SIZE]
private

Definition at line 82 of file ConcurrencyUtils.cc.

◆ FUNCTOR_CLASS_SIZE

const int Arcane::SerialTask::FUNCTOR_CLASS_SIZE = sizeof(TaskType)
static

Definition at line 42 of file ConcurrencyUtils.cc.

◆ m_functor

ITaskFunctor* Arcane::SerialTask::m_functor
private

Definition at line 81 of file ConcurrencyUtils.cc.


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