12#ifndef ARCANE_ACCELERATOR_CORE_RUNQUEUEEVENT_H
13#define ARCANE_ACCELERATOR_CORE_RUNQUEUEEVENT_H
17#include "arcane/utils/Ref.h"
18#include "arcane/utils/AutoRef.h"
20#include "arcane/accelerator/core/RunCommand.h"
43class ARCANE_ACCELERATOR_CORE_EXPORT RunQueueEvent
48 friend impl::RunQueueImpl;
54 explicit RunQueueEvent(
const Runner& runner);
59 RunQueueEvent(
const RunQueueEvent&);
60 RunQueueEvent& operator=(
const RunQueueEvent&);
61 RunQueueEvent(RunQueueEvent&&)
noexcept;
62 RunQueueEvent& operator=(RunQueueEvent&&)
noexcept;
72 bool isNull()
const {
return m_p.get() ==
nullptr; }
83 bool hasPendingWork()
const;
87 impl::IRunQueueEventImpl* _internalEventImpl()
const;
105 return RunQueueEvent(runner);
116 return makeRef(
new RunQueueEvent(runner));
Evènement pour une file d'exécution.
friend RunQueueEvent makeEvent(const Runner &runner)
Créé un évènement associé à runner.
friend Ref< RunQueueEvent > makeEventRef(const Runner &runner)
Créé un évènement associé à runner.
bool isNull() const
Indique si l'instance est nulle.
Gestionnaire d'exécution pour accélérateur.
Encapsulation d'un pointeur avec compteur de référence.
Référence à une instance.
Espace de nom pour l'utilisation des accélérateurs.
RunQueueEvent makeEvent(const Runner &runner)
Créé un évènement associé à runner.
Ref< RunQueueEvent > makeEventRef(const Runner &runner)
Créé un évènement associé à runner.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.